如何在 Amazon Linux AMI 中使用 pyodbc 连接到 RDS SQL 服务器?



我正在 aws ec2 linux machine 和 rds sql server 之间建立 pyodbc 连接。当我使用本地Windows计算机并能够编辑数据库时,连接正在工作。

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

按照本教程并安装了驱动程序,但仍面临问题

cat /etc/odbcinst.ini 
[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9.2
UsageCount=1
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.4.so.1.1
UsageCount=1
cat ~./odbc.ini
cat: ~./odbc.ini: No such file or directory

代码片段如下:

db = pyodbc.connect("Driver={Microsoft ODBC Driver 17 for SQL Server};"
"Server=<Server Name>;"
"Database=<DB Name>;"
"uid=<username>;pwd=<password>"
)

错误如下:

噗嗤。错误: ('01000', "[01000] [unixODBC][驱动程序管理器]无法打开库'Microsoft soft ODBC Driver 17 for SQL Server' : 找不到文件 (0( (SQLDriverConnect("(

更新:从终端查询数据库的 Sqlcmd 正在工作

db = pyodbc.connect("Driver={ODBC Driver 17 for SQL Server};"
"Server=<Server Name>;"
"Database=<DB Name>;"
"uid=<username>;pwd=<password>"
)

最后这对我有用。刚刚从驱动程序名称中删除了单词Microsoft。

像这样找到你的驱动程序

cnxn = pyodbc.connect('DRIVER={/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1};SERVER='+server+';DATABASE='+database+';uid='+username+';pwd='+ password) 

最新更新