pyodbc仅在查询连接字符串中指定的数据库时执行命令

时间:2018-07-09 16:00:26

标签: sql-server sql-server-2014 pyodbc

conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 11.0};SERVER=localhost\<redacted>;DATABASE=master;UID=<redacted>;PWD=<redacted>')
cursor = conn.cursor()
query = """SELECT <redacted> FROM <redacted> WHERE <redacted>"""
row = cursor.execute(query).fetchone()
dummyName = row[0]
cursor.close()

cursor = conn.cursor()
query = """SELECT <redacted> FROM <redacted> WHERE <redacted>"""
print query
row = cursor.execute(query)
print row.fetchone()

此代码正确连接到数据库,并在第一个数据库上执行第一个查询。但是,当它在另一个数据库上执行第二个查询时,它不返回任何数据,并且我弹出一个窗口,说当我尝试获取任何行时python.exe已经停止工作,之后程序崩溃。我检查了一下,然后尝试执行的查询是一个有效的查询,可以从主数据库和代码中连接的同一帐户正常运行。

1 个答案:

答案 0 :(得分:0)

问题是我们正在使用旧版本的pyodbc。我将其更新为新版本,现在可以正常使用。