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?