我尝试在Windows上使用pypyodbc 1.3.3和Python 3.5从Microsoft SQL数据库中检索数据但是得到了pypyodbc.ProgrammingError' [24000] [Microsoft] [SQL Server Native Client 11.0]无效的游标状态&#39 ;使用以下代码:
import pypyodbc
conn = pypyodbc.connect(r'DRIVER={SQL Server Native Client 11.0};SERVER=server;DATABASE=database;UID=uid;PWD=pwd')
cursor = conn.cursor()
sql = '''USE database;
SELECT R0
FROM table;'''
cursor.execute(sql)
results = cursor.fetchone()
print(results)
SQL在Microsoft SQL Server Management Studio中工作,连接和执行工作在我编写的另一个脚本中插入到同一个数据库中,如果我删除也可以工作
results = cursor.fetchone()
到目前为止,我尝试了cursor.fetchone(),cursor.fetchall()和list(cursor),但都产生了相同的结果,这让我相信命令本身并不是问题所在。 根据{{3}},这意味着没有一个打开的光标,但我可以得到它的描述,所以根据我的理解,必须有。
答案 0 :(得分:0)
我有类似的问题。我能够通过删除“USE数据库”声明来解决这个问题。
您已在此处连接到您的数据库:
conn = pypyodbc.connect(r'DRIVER={SQL Server Native Client 11.0};SERVER=server;DATABASE=database;UID=uid;PWD=pwd')