Pypyodbc: не удается открыть lib 'FreeTDS': файл не найден ") ошибка при попытке подключения к SQL-серверу

Я пытаюсь подключиться к SQL Server, используя Pypyodbc на Mac, и получаю следующую ошибку:

pypyodbc.DatabaseError: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'FreeTDS' : file not found")

Я установил freeTDS и unixodbc

brew install unixodbc
brew install freetds

и вот моя строка подключения с фиктивными данными:

connection_String = "Driver=FreeTDS;Server=123.12.12.12;tds_version=7.2;Database=db_db;Uid=username:pwd=password:port=1433"

2 ответа

Проверьте ваш /etc/odbcinst.ini или он может быть в /etc/unixODBC/odbcinst.ini

В строке подключения у вас есть что-то вроде этого "DRIVER=FreeTDS", в этом файле должна быть запись, подобная следующей. Возможно, вам придется изменить местоположение вашего водителя.

[FreeTDS]
Description             = FreeTDS unixODBC Driver
Driver          = /usr/lib64/libtdsodbc.so.0
Setup           = /usr/lib64/libtdsodbc.so.0
UsageCount              = 1

Во-первых, вы можете использовать pymssql, который не требует настройки unixODBC, что является проблемой здесь.

Чтобы настроить unixODBC с FreeTDS, выполните следующие действия: http://www.unixodbc.org/doc/FreeTDS.html

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

Наконец, есть аналогичный вопрос с другими проблемами в Stackru: как мне настроить pyodbc для правильного приема строк из SQL Server с использованием freeTDS и unixODBC?

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