Попытка запросить SQL Server из django, работающего в Linux - Не удается открыть lib '/path/to/libtdsodbc.so'

У меня есть сайт Django, который работает на PostgreSQL, и я пытаюсь получить некоторые данные из SQL Server, чтобы заполнить некоторые поля формы.

Я могу подключиться к SQL Server и запросить базу данных с сервера Linux, используя Python с pyodbc и FreeTDS, и у меня сложилось впечатление, что я могу использовать ту же строку подключения в представлении django, но при попытке получить следующую ошибку:

('01000', "[01000] [unixODBC] [Driver Manager] Не удается открыть lib '/path/to/libtdsodbc.so': файл не найден (0) (SQLDriverConnect)")

Я пытался изменить права доступа к файлам и папкам, но это никуда меня не привело, как я уже говорил, я могу подключиться через Python, но не с Django.

Я также могу подключиться из командной строки в папке приложений django, используя

manage.py shell

Любая помощь с благодарностью.

ОБНОВИТЬ:

Файл определенно существует, и Django, и Python используют одни и те же файлы конфигурации ODBC и FreeTDS.

Я не использую virtualenv.

Я видел несколько ссылок на /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so когда я выполнял первоначальную настройку, но у меня сложилось впечатление, что любые проблемы, которые могут быть решены, помешали бы подключению питона, разве это не так?

ОБНОВЛЕНИЕ 2:

Я пытался использовать pymssql, и я получаю аналогичные результаты, он работает через Python, но с Django я получаю эту ImportError:

libct.so.4: невозможно открыть файл общего объекта: нет такого файла или каталога

ОБНОВЛЕНИЕ - РЕШЕНО

@bradley.ayers комментарий в PIL - libjpeg.so.8: невозможно открыть общий объектный файл: ни один такой файл или каталог не указывал мне правильное направление.

3 ответа

Решение

Извиняюсь за задержку с ответом, насколько я помню, я не смог ответить на свой собственный вопрос из-за новой учетной записи:

@ bradley.ayers комментарий в PIL - libjpeg.so.8: невозможно открыть общий объектный файл: ни один такой файл или каталог не указывал мне правильное направление.

Спасибо всем за вашу помощь

@user2725332 Извините за публикацию ответа вместо того, чтобы комментировать ваш ответ - ТАК не позволяет новичкам делать это, поэтому я полагаю, что это должен быть их предпочтительный метод для комментариев.

Вы говорите, что bradley.ayers указал вам в правильном направлении; было бы очень полезно, если бы вы могли сообщить нам решение, которое сработало для вас. Добавлял ли он каталог, содержащий ваш драйвер, в файл /etc/ld.so.conf, а затем запустил ldconfig? Это не помогло решить проблему в моем посте

Спасибо, чн

Возможно, вы изменили в своем коде путь к библиотеке "/path/to/libtdsodbc.so" в /usr/lib/odbc/libtdsodbc.so"или иным образом путь к файлу"libtdsodbc.so".

Другие вопросы по тегам