gpt4 book ai didi

python - 使用 pyodbc 从 SQL 中检索数据

转载 作者:IT老高 更新时间:2023-10-28 21:54:08 26 4
gpt4 key购买 nike

我正在尝试使用 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's 以及我不感兴趣的东西:

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.STATUS, WORK_ORDER.BASE_ID, WORK_ORDER.LOT_ID FROM WORK_ORDER")
for row in cursor.fetchall():
print row

(“columns()”函数收集命名表中列的元数据,而不是实际数据)。

关于python - 使用 pyodbc 从 SQL 中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com