我编写了一个 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)
关于如何修复它有什么建议吗?
这似乎是 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