Pypyodbc:无法打开lib' FreeTDS' :尝试连接到SQL Server时找不到文件")错误

时间:2015-02-17 16:25:04

标签: python sql-server macos freetds pypyodbc

我试图在Mac上使用Pypyodbc连接到SQL Server,我收到以下错误:

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 个答案:

答案 0 :(得分:9)

检查你的/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

答案 1 :(得分:6)

首先,你可以使用不需要配置unixODBC的pymssql,这就是问题所在。

要使用FreeTDS配置unixODBC,请执行以下操作:http://www.unixodbc.org/doc/FreeTDS.html

FreeTDS,tsql附带了一个工具。用它来测试你的连接字符串。这是一个非常简单的骨头工具,有点痛苦。 : - /

最后,与StackOverflow中的其他问题有类似的问题:How do I configure pyodbc to correctly accept strings from SQL Server using freeTDS and unixODBC?