python 数据块到SQL连接错误:[unixODBC][驱动程序管理器]无法打开库“用于SQL Server的ODBC驱动程序17”

vi4fp9gy  于 2023-03-07  发布在  Python
关注(0)|答案(1)|浏览(481)

我正在尝试使用以下命令从数据库连接到Azure SQL

import pyodbc

# Connect to Azure SQL database
server = 'xxxx.database.windows.net'
database = 'db-dev-xxxx'
username = 'abc'
password = 'xyz'
driver= '{ODBC Driver 17 for SQL Server}'

cnxn = pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password)

但是,我得到了以下错误

错误

Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server': file not found (0) (SQLDriverConnect)")
Command took 0.19 seconds -- by g@xxx.onmicrosoft.com at 3/1/2023, 3:59:15 PM on g @xxx.onmicrosoft.com's Cluster

如有任何建议/意见,我们将不胜感激。
先谢了

ar5n3qh5

ar5n3qh51#

('01000 ',“[0100] [unixODBC][驱动程序管理器]无法打开库”SQL的ODBC驱动程序17“

发生上述错误的主要原因是驱动程序未正确安装。

我尝试在我的环境中重现同样的错误。

若要解决上述错误,请按照以下方法操作:

运行以下命令在Databricks群集上安装ODBC驱动程序。

%sh
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get -q -y install msodbcsql17

现在,您可以检查连接到SQL Server的Azure数据块。

代码:

import pyodbc
server = 'vamsisyn.database.windows.net'
database = 'database_name'
username = 'xxxx'
password = 'xxxx'
    
conn1 = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=' + server + ';DATABASE='+ database +';UID=' + username + ';PWD='+ password)

相关问题