我在数据管道内有数据库连接。我目前在将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)')
似乎您缺少引号,奇怪的是
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')
我希望我回答你的问题,如果没有。告诉我,我会尽力进一步理解您的问题。