[unixODBC][驱动程序管理器]无法打开 lib '/usr/local/lib/libmsodbcsql.17.dylib':找不到文件

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

我目前拥有一台 2011 年末的 MacBook Pro,但我做了一些修改...她现在内部安装了 2 TB SSD,以及 16GB RAM。操作系统已升级至Catalina 10.15.7。我目前通过 Jupyter Notebook 的 anaconda3 设置来使用 Python 3.7。我确信这不是访问/防火墙问题,因为我可以通过 VM 和 SQL Server,以及通过 VS Code2 或 PyCharm 2024 连接到 Azure SQL 数据库。

我需要修改我当前的 Python 脚本来访问 Azure SQL 数据库,我已经完成了,但我很难成功连接!

我附上了我的终端的屏幕截图,以显示 odbcinst.ini 文件可以被读取/查询并返回正确的配置,我已经根据无数的资源和提出的类似问题设法更新了该配置。 pyodbc 正在查找的 /usr/local/lib/libmsodbcsql.17.dylib 文件有一个符号链接,并显示在我的终端屏幕截图的最后几行中。这与用于更新 odbcinst.ini 文件中的服务器名称的路径相同。我什至提供了 .zshrc 配置文件的屏幕截图,其中我根据 StackOverflow 提供的建议明确定义了“PATH”和“LD_LIBRARY_PATH”的路径。再次不幸的是,没有任何效果。

请帮忙。

python-3.x sql-server azure sqlconnection unixodbc
1个回答
0
投票
;' pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/user/local/lib/libmsodbcsql.17.dylib' : file not found (0) (SQLDriverConnect)")

如果

ODBC Driver 17 for SQL Server
未正确安装,那么您可能会收到上述错误。按照MS Document安装适用于 SQL Server (macOS) 的 Microsoft ODBC 驱动程序。除此之外,使用下面的代码通过
pyodbc
:

连接到 SQL Server
import pyodbc

conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};'
                       '<serverName>;'
                       'DATABASE=<databaseName>;'
                       'UID=<userName>;'
                       'PWD=<password>')
cursor = conn.cursor()
cursor.execute("SELECT * FROM <tableName>")
rows = cursor.fetchall()
for row in rows:
    print(row)

就会连接成功,如下图:

enter image description here

更多信息可以参考这个

© www.soinside.com 2019 - 2024. All rights reserved.