使用putty私钥、sqlalchemy和pyodbc从linux环境连接到sql server

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

嗨,我正在尝试从 linux(ubuntu 服务器)的 sql 服务器读取数据帧。 文件(gscm.ppk)中有管理密钥

我使用以下格式连接到sql server:

*import urllib
 import pandas as pd
 params = urllib.parse.quote_plus("DRIVER={SQL Server Native Client 
 11.0};"
                             "SERVER=dagger;"
                             "DATABASE=test;"
                             "UID=ubuntu;")
 engine = sa.create_engine("mssql+pyodbc:///?odbc_connect= 
 {}".format(params))
 df= pd.read_sql('SELECT * FROM ROBALS', engine)*

我不断收到此错误:

sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('01000', "[01000] [unixODBC] 
[Driver Manager]Can't open lib 'SQL Server' : file not found (0) 
(SQLDriverConnect)")
(Background on this error at: https://sqlalche.me/e/14/dbapi)

我已经下载了Ubuntu 20.04附带的驱动程序

python sql-server ubuntu pyodbc
1个回答
0
投票

您是否安装了 SQL Server Native Client 或 ODBC 驱动程序? Microsoft 建议使用 ODBC 驱动程序进行新应用程序开发。可以在此处找到安装适用于 Linux 的 ODBC 驱动程序的说明: https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16&tabs=ubuntu18 -安装%2Calpine17-安装%2Cdebian8-安装%2Credhat7-13-安装%2Crhel7-离线

然后,您可以使用 pyodbc 连接到 SQL Server,并将数据读取到 pandas 中,如下例所示:https://learn.microsoft.com/en-us/sql/machine-learning/data-exploration/python -dataframe-pandas?view=sql-server-ver16

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