为什么在将 python 连接到 sql 脚本时出现有关 ODBC 驱动程序的错误?

问题描述 投票:0回答:1

我编写了一个 python 脚本,用于从 google 工作表中的 API 检索数据。现在我尝试将 python 脚本连接到 SQL,以便可以将数据添加到表中。我使用 jupyter 笔记本来运行 python,使用 mssql 和 VS Code 来运行 SQL 脚本。当我尝试连接两者时,我不断收到有关无法打开驱动程序的问题的相同错误。

这是我尝试过的代码:

connection_string = "Driver={ODBC Driver 18 for SQL Server};Server=xxx.database.windows.net,1433;Database=xxxx;Uid=xxxx;Pwd={Password};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30"

engine = sqlalchemy.create_engine(f"mssql+pyodbc:///?odbc_connect={urllib.parse.quote_plus(connection_string)}")

这是我不断收到此错误的错误,即使我在我的 mac 上下载了 ODBC 驱动程序 18:

Error: (pyodbc.Error) ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 18 for SQL Server' : file not found (0) (SQLDriverConnect)")
(Background on this error at: http://sqlalche.me/e/14/dbapi)

关于如何修复它有什么建议吗?

python azure odbc driver vscode-extensions
1个回答
0
投票

这似乎是 pyodbc 的一个未解决问题,可以在 https://github.com/mkleehammer/pyodbc/issues/1116 上看到。我建议您浏览用户提出的问题并按照其中的建议来解决此错误。

另请查看 PyPi,确保您的 Mac 上已正确安装 pyodbc。根据 PyPi: 安装 pyodbc 最简单的方法是使用

python -m pip install pyodbc

在 Mac 上,如果尚未安装 ODBC 驱动程序管理器,您可能应该首先安装 unixODBC。例如,使用 homebrew 包管理器:

brew install unixodbc
python -m pip install pyodbc
© www.soinside.com 2019 - 2024. All rights reserved.