环境
我正在尝试使用机器上的
pyodbc
模块通过 Python(Jupyter 环境)连接到我公司的 SQL 服务器,但出现错误。我已按照此安装指南进行操作,但仍然无法运行它。
这是我的连接字符串:
我从
pyodbc.drivers()
得到了司机 ['ODBC Driver 18 for SQL Server']
因此,
cnxn_str = (
"DRIVER={'ODBC Driver 18 for SQL Server'};"
"SERVER=companyserver.net;"
"DATABASE=somedatabase;"
"UID=myuid;"
"PWD=mypassword;")
cnxn = pyodbc.connect(cnxn_str)
这是我收到的错误:
错误:('01000',“[01000] [unixODBC][驱动程序管理器]无法打开 lib ''ODBC Driver 18 for SQL Server'':找不到文件 (0) (SQLDriverConnect)”)
这是我尝试过的:
我尝试执行 Microsoft ODBC 驱动程序安装文档中提供的故障排除:
sudo ln -s /usr/local/etc/odbcinst.ini /etc/odbcinst.ini
sudo ln -s /usr/local/etc/odbc.ini /etc/odbc.ini
它也不起作用,其次我尝试了
odbcinst -j
命令,这就是我得到的:
DRIVERS............: /opt/homebrew/etc/odbcinst.ini
SYSTEM DATA SOURCES: /opt/homebrew/etc/odbc.ini
FILE DATA SOURCES..: /opt/homebrew/etc/ODBCDataSources
USER DATA SOURCES..: /Users/myname/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
cat /opt/homebrew/etc/odbcinst.ini
Description=Microsoft ODBC Driver 18 for SQL Server
Driver=/opt/homebrew/lib/libmsodbcsql.18.dylib
UsageCount=1
使用驱动程序我制作了连接字符串:
cnxn_str = (
"DRIVER={'/opt/homebrew/lib/libmsodbcsql.18.dylib'};"
"SERVER=companyserver.net;"
"DATABASE=somedatabase;"
"UID=myuid;"
"PWD=mypassword;")
cnxn = pyodbc.connect(cnxn_str)
我仍然收到此错误:
错误:('01000',“[01000] [unixODBC][驱动程序管理器]无法打开 lib ''/opt/homebrew/lib/libmsodbcsql.18.dylib':找不到文件 (0) (SQLDriverConnect)” )
有人知道我做错了什么吗?任何帮助都会有帮助。
非常感谢!
卸载和安装
unixodbc
对我不起作用。我做了这些步骤:
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
,然后brew install msodbcsql mssql-tools
这是我的问题的解决方案: 我使用 Rene B. 回答问题来解决它。就我而言
brew install msodbcsql mssql-tools
没有正确安装。我还卸载并重新安装了unixodbc
,然后安装了msodbcsql mssql-tools
,这最终对我有用。