【问题标题】:Sym linking issue connecting to Azure Database from macOS从 macOS 连接到 Azure 数据库的符号链接问题
【发布时间】:2019-12-24 11:22:37
【问题描述】:

我正在尝试从我的 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)")

当我检查我的终端时,我得到以下结果。无法解决此问题...

这是我的服务器连接字符串:

【问题讨论】:

  • 您安装的 ODBC 驱动程序版本是多少?您是否尝试更新到 ODBC 驱动程序 17?那么连接字符串应该以Driver={ODBC Driver 17 for SQL Server}…开头。

标签: python odbc azure-sql-database pyodbc


【解决方案1】:

这是在 UNIX 机器上安装 ODBC 驱动程序的完整指南:

https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15

If you installed the v17 msodbcsql package that was briefly available, you should remove it before installing the msodbcsql17 package. This will avoid conflicts.

尝试卸载驱动程序并重新安装它应该可以工作。

还可以查看以下线程以获取更多参考:

Can't open lib 'ODBC Driver 13 for SQL Server'? Sym linking issue?

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-04
    • 2020-12-03
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多