使用pyodbc从SQL检索数据

前端之家收集整理的这篇文章主要介绍了使用pyodbc从SQL检索数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用pyodbc从sql服务器检索数据,并使用Python将其打印在表中。但是,我似乎只能检索列名和数据类型以及类似的东西,而不是列的每一行中的实际数据值。

基本上我试图复制一个Excel工作表,检索服务器数据并将其显示在表中。我连接到服务器没有任何问题,只是我似乎无法找到进入表中的实际数据。

以下是我的代码示例:

import pyodbc
cnxn = pyodbc.connect('DRIVER={sql Server};SERVER=sqlSRV01;DATABASE=DATABASE;UID=USER;PWD=PASSWORD')
cursor = cnxn.cursor()

cursor.execute("SELECT * FROM sys.tables")
tables = cursor.fetchall()
#cursor.execute("SELECT WORK_ORDER.TYPE,WORK_ORDER.STATUS,WORK_ORDER.BASE_ID,WORK_ORDER.LOT_ID FROM WORK_ORDER")

for row in cursor.columns(table='WORK_ORDER'):
    print row.column_name
    for field in row:
        print field

然而,这样的结果只给了我一些事情,比如表名,列名和一些整数以及’None’和类似的东西,我不感兴趣:

STATUS_EFF_DATE
DATABASE
dbo
WORK_ORDER
STATUS_EFF_DATE
93
datetime
23
16
3
None
0
None
None
9
3
None
80
NO
61

所以我不确定在哪里可以获得填充表格的值。它应该在table =’WORK_ORDER’中,但是它可以在不同的表名下吗?有没有办法打印我刚丢失的数据?

任何建议或意见将不胜感激。

解决方法

你真是太近了!
import pyodbc
cnxn = pyodbc.connect('DRIVER={sql Server};SERVER=sqlSRV01;DATABASE=DATABASE;UID=USER;PWD=PASSWORD')
cursor = cnxn.cursor()

cursor.execute("SELECT WORK_ORDER.TYPE,WORK_ORDER.LOT_ID FROM WORK_ORDER")
for row in cursor.fetchall():
    print row

(“columns()”函数收集有关指定表中列的元数据,而不是实际数据)。

原文链接:https://www.f2er.com/mssql/84417.html

猜你在找的MsSQL相关文章