pyodbc.connect在使用本地服务器时无法使用aws数据库实例

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

我在数据管道内有数据库连接。我目前在将pyodbc.connect(cnxn_string)与aws db-instance一起使用时遇到问题。虽然可以使用本地服务器上的pyodbc连接。此外,当我使用sqlalchemy.create_engine(cnxn_string)时,该连接有效。

示例aws db-instance:

connection = DRIVER={ODBC Driver 17 for SQL Server};SERVER=mycompany-db.cu9fhgtuioo.us-east-1.rds.amazonaws.com;DATABASE=mycompanydatabase;UID=admin;PWD=foobar

示例本地服务器:

connection = DRIVER={ODBC Driver 17 for SQL Server};SERVER=LOCALCOMPANYSERVER-ANALYSIS\ROOT2005;DATABASE=mycompanydatabase;UID=admin;PWD=foobar

目前,我不想立即更改几个软件包以使用sqlalchemy,而是想使它工作并测试数据管道。我想使用pyodbc模块进行连接。我希望可能需要对连接字符串进行一些修改才能使pyodbc.connect工作。注意,已安装odbc驱动程序,aws实例允许连接(sqlalchemy可以工作)。

import pyodbc
pyodc.connect(cnxn_string)

#####
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot open database "mycompanydatabase" requested by the login. The login failed. (4060) (SQLDriverConnect)')
python sqlalchemy pyodbc
1个回答
0
投票

似乎您缺少引号,奇怪的是

    Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot open database "mycompanydatabase" requested by the login. The login failed. (4060) (SQLDriverConnect)')

通常与SQL查询代码有关,并且当发生编程错误时,一切正常吗?

    pyodbc.connect(
    driver='{ODBC Driver 17 for SQL Server}',
    system='=mycompany-db.cu9fhgtuioo.us-east-1.rds.amazonaws.com',
    database='mycompanydatabase'
    uid='admin',
    pwd='foobar')

我希望我回答你的问题,如果没有。告诉我,我会尽力进一步理解您的问题。

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