Can';t打开lib';用于SQL Server的ODBC驱动程序17';用python

Can';t打开lib';用于SQL Server的ODBC驱动程序17';用python,python,sql-server,sqlalchemy,odbc,pyodbc,Python,Sql Server,Sqlalchemy,Odbc,Pyodbc,我正在使用python脚本连接到远程MSSql服务器。我在OSX m/c中安装了所需的库,并尝试使用python shell进行连接,但操作失败。MSSql未在我的开发计算机中本地安装 Python shell: >>> cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ pass

我正在使用python脚本连接到远程MSSql服务器。我在OSX m/c中安装了所需的库,并尝试使用python shell进行连接,但操作失败。MSSql未在我的开发计算机中本地安装

Python shell:
>>> cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")
>>> 
驱动程序的文件引用,已存在

lrwxr-xr-x    1 biju  admin      56 Mar 23 07:57 libmsodbcsql.17.dylib -> ../Cellar/msodbcsql17/17.5.2.1/lib/libmsodbcsql.17.dylib
直接在驱动程序中使用文件路径,代码可以正常工作

在/etc/odbcinst.ini中又找到一个odbcinst文件

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/usr/local/lib/libmsodbcsql.13.dylib
UsageCount=1

上述路径/usr/local/lib/libmsodbcsql.13.dylib中不存在文件。我不确定这两个版本的库是否正确安装或必须删除。

我也遇到了同样的问题,我通过设置
ODBCSYSINI
环境变量指向包含
odbcinst.ini
的目录来修复它

export-ODBCSYSINI=/opt/odbc
请注意,该变量指向包含文件的目录,而不是文件本身。我的
odbcinst.ini
的完整路径是
/opt/odbc/odbcinst.ini


确保在调用Python代码的脚本或shell中设置了变量。

如果您认为msodbcsql17安装已中断,可以尝试
brew重新安装msodbcsql17
。另外,当您安装msodbcsql13时,是否注意到信息通知中说您需要在卸载它之前运行
odbcinst-u-d-n“用于SQL Server的ODBC驱动程序13”
?谢谢您的建议。不管怎样,我已经离开这里了。
[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/usr/local/lib/libmsodbcsql.13.dylib
UsageCount=1