【发布时间】:2019-08-27 17:43:15
【问题描述】:
我正在尝试学习如何使用 python 和 pyodbc 模块获取 Microsoft SQL 查询结果,但在使用我在 Microsoft SQL Management Studio 中使用的相同查询返回相同结果时遇到了问题。
我查看了 pyodbc 文档并正确设置了我的连接......至少我在执行时没有遇到任何连接错误。唯一的问题似乎是返回表数据
import pyodbc
import sys
import csv
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=<server>;DATABASE=<db>;UID=<uid>;PWD=<PWD>')
cursor = cnxn.cursor()
cursor.execute("""
SELECT request_id
From audit_request request
where request.reception_datetime between '2019-08-18' and '2019-08-19' """)
rows = cursor.fetchall()
for row in cursor:
print(row.request_id)
当我运行上面的代码时,我在 python 终端窗口中得到了这个:
Process returned 0 (0x0) execution time : 0.331 s
Press any key to continue . . .
我在 SQL Management Studio 中尝试了同样的查询,它返回了我正在寻找的结果。就使用 python 显示结果而言,我一定缺少一些东西。
【问题讨论】:
-
你能做一个简单的
SELECT GETDATE()并得到结果吗?弄清楚这一点将帮助我们确定问题是出在您的数据中,还是出在您与数据库的连接上。 -
与
SELECT GETDATE()的结果相同 -
@NeerajAgarwal 可能有答案,
for row in rows,而不是in cursor。让我们知道这是否有效。