Python pyodbc:Can';t打开lib';FreeTDS';:未找到文件(“)尝试连接到SQL server时出错

Python pyodbc:Can';t打开lib';FreeTDS';:未找到文件(“)尝试连接到SQL server时出错,python,sql-server,macos,freetds,pypyodbc,Python,Sql Server,Macos,Freetds,Pypyodbc,我试图在Mac上使用PyODBC连接到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_Str

我试图在Mac上使用PyODBC连接到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"
首先,您可以使用不需要配置unixODBC的

要使用FreeTDS配置unixODBC,请执行以下操作:

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


最后,StackOverflow中还有一个与其他问题类似的问题:

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

不是Mac,但在其他*nix系统中,我会检查FreeTDS so文件是否在LD_LIBRARY_path中。如果您有此问题,我发布的答案可能会有所帮助。使用FreeTDS配置unixODBC的链接非常棒,除了在OS Linux上没有“libtdsodbc.so”之外,它是名为“FreeTDS”的包的一部分。也许你可以安装这个库。@andrei如果你已经安装了Freetds,brew先卸载它,然后brew安装Freetds——使用unixodbc修复了我的问题。首先看这里,我让pyodbc工作,然后我决定将python升级到python3(或者更确切地说是在python2旁边安装另一个版本),现在我无法让它再次工作。libtdsodbc.so.0在OSXIt的libtdsodbc.0上不存在。因此,出于某种原因,我的(由brew安装)在
/etc/local/lib/libtdsodbc.0中。