python - 从 macOS 连接到 Azure 数据库的符号链接问题
问题描述
我正在尝试从我的 SQL Azure 数据库中获取数据。由于与 ODBC 驱动程序的链接混淆,我的 python 代码似乎引发了错误。
这是我的 Python 代码。
from urllib import parse
from sqlalchemy import create_engine
connecting_string = 'Driver={ODBC Driver 13 for SQL Server};Server=tcp:mftaccountinghost.database.windows.net,1433;Database=mft_accounting;Uid=localhost;Pwd=######;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
params = parse.quote_plus(connecting_string)
engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
connection = engine.connect()
result = connection.execute("select 1+1 as res")
for row in result:
print("res:", row['res'])
connection.close()
这是我得到的错误:
sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/usr/local/lib/libmsodbcsql.13.dylib' : 找不到文件(0) (SQLDriverConnect)")
当我检查我的终端时,我得到以下结果。无法解决这个问题...
这是我的服务器连接字符串:
解决方案
以下是在 UNIX 机器上安装 ODBC 驱动程序的完整指南:
If you installed the v17 msodbcsql package that was briefly available, you should remove it before installing the msodbcsql17 package. This will avoid conflicts.
尝试卸载驱动程序并重新安装它应该可以工作。
另请查看以下线程以获取更多参考:
无法打开 lib 'ODBC Driver 13 for SQL Server'?符号链接问题?
希望能帮助到你。
推荐阅读
- c++ - 使用 CMake 将其他依赖项和库目录链接到静态库项目
- templates - 如何将信息框移到一边?
- python - Python Plotly 用文本注释多个变量
- python - tensorflow 的 Dataset.list_files 函数中的“/*/*”是什么意思?
- python - 衡量运行时最佳实践 (Python)
- git - 在 GitHub 拉取请求中更改提交消息
- java - 如何在 IntelliJ 中显示文件结构(意外删除后)
- reactjs - 反应:你怎么知道哪个变量导致 componentDidUpdate() 被触发?
- sql - 将月费率除以日记录在SQL Server中基于getdate()和会计闰年的查询
- typescript - 映射保留参数类型的函数数组。TypeScript v4 中的可变元组类型可以改善这一点吗?