我在 Mac 上使用 pyodbc 包连接 Microsoft SQL Server 时遇到问题

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

我已经安装了 Docker Desktop 来运行一个映像,该映像在我的 Mac 上运行包含 Microsoft SQL Server 的容器,并使用 Azure Data Studio 作为 GUI,如下所示: Current connection to Microsoft SQL Server on MacOS

我一直在尝试使用

pyodbc.connect()
函数连接到Microsoft SQL Server,以便我可以从许多XML文件中提取数据并将其加载到SQL Server中。但是,我的代码一直在
pyodbc.connect()
处失败,它给了我错误:

conn = pyodbc.connect('DRIVER={/opt/homebrew/lib/libmsodbcsql.18.dylib};' pyodbc.Error: ('01000', "[01000] [unixODBC][驱动程序管理器]无法打开 lib '/opt/homebrew/lib/libmsodbcsql.18.dylib': 找不到文件 (0) (SQLDriverConnect)" )

我已经安装了 Microsoft 官方网站上的 homebrew、unixODBC 和 ODBC Driver 18 for SQL Server。我尝试搜索许多网站来了解该怎么做,我读到的只是我需要能够配置 odbc.ini 文件,但我不确定我到底需要做什么才能正确配置该文件。目前,我的 odbc.ini 文件是空白的,我的 odbcinst.ini 文件具有以下内容:

odbcinst.ini file that I have

我当前的代码指定了 SQL Driver 18 的确切路径目录: my pyodbc.connect() code

非常感谢任何有关此问题的帮助,

sql-server odbc pyodbc unixodbc azure-data-studio
1个回答
0
投票
conn = pyodbc.connect('DRIVER={/opt/homebrew/lib/libmsodbcsql.18.dylib};' pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/homebrew/lib/libmsodbcsql.18.dylib' : file not found (0) (SQLDriverConnect)")

如果

ODBC Driver 18 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.