我尝试在 Windows 上使用 pypyodbc 1.3.3 和 Python 3.5 从 Microsoft SQL 数据库中检索数据,但使用以下代码得到了 pypyodbc.ProgrammingError '[24000] [Microsoft] [SQL Server Native Client 11.0] Invalid cursor state' :
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),但都产生了相同的结果,这让我相信命令本身不是问题。根据这个微软网站,这意味着没有打开的光标,但我可以得到它的描述,所以根据我的理解必须有。