当我尝试使用pyodbc连接到SQL Server数据库(在Mac上)时:
import pyodbc server = '####' database = '####' username = '####@####' password = '#####' driver='{ODBC Driver 13 for SQL Server}' pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1443;DATABASE='+database+';UID='+username+';PWD='+password)
我收到以下错误:
错误:(“ 01000”,“ [01000] [unixODBC] [驱动程序管理器]无法打开lib’SQL Server的ODBC驱动程序13’:找不到文件(0)(SQLDriverConnect)“)
当我在实际的驱动程序位置中移动时:
driver='/usr/local/lib/libmsodbcsql.13.dylib'
它开始工作!
我的odbcinst.ini样子是这样的:
odbcinst.ini
[ODBC Driver 13 for SQL Server] Description=Microsoft ODBC Driver 13 for SQL Server Driver=/usr/local/lib/libmsodbcsql.13.dylib UsageCount=1
如何获得我的参考以driver='{ODBC Driver 13 for SQL Server}'重新开始工作?
driver='{ODBC Driver 13 for SQL Server}'
我最初使用本指南来安装驱动程序。如果可以,我在Mac Sierra上使用anaconda吗?
运行:
odbcinst -j
它产生了:
unixODBC 2.3.4 DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /Users/emehex/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8
我没有将文件复制到/etc/目录中(不确定unixODBC为什么认为它们在那里),我创建了每个文件的符号链接:
/etc/
sudo ln -s /usr/local/etc/odbcinst.ini /etc/odbcinst.ini sudo ln -s /usr/local/etc/odbc.ini /etc/odbc.ini
这样就解决了问题。