当前位置: 首页 > 面试题库 >

使用pyodbc从SQL检索数据

楚健
2023-03-14
问题内容

我正在尝试使用pyodbc从SQL
Server检索数据,并使用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.STATUS, WORK_ORDER.BASE_ID, WORK_ORDER.LOT_ID FROM WORK_ORDER")
for row in cursor.fetchall():
    print row

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



 类似资料:
  • 问题内容: 我试图了解python如何将数据从FTP服务器拉到熊猫,然后将其移到SQL服务器。至少可以说,我的代码非常初级,我正在寻找任何建议或帮助。我试图先从FTP服务器上加载数据,这可以正常工作。…如果我随后删除此代码,并将其更改为从ms sql服务器中选择的数据,那么它很好,因此连接字符串有效,但是插入到SQL中服务器似乎引起了问题。 当我删除ftp代码时,它可以完美运行,但是我不知道如何进

  • 我试图检索xml值从一列数据存储在xml格式使用下面的查询在OracleSQLDeveloper.但是得到这个错误: ORA-00932:不一致的数据类型:应为-got-00932。00000-“不一致的数据类型:应为%s获得%s”*原因: 列的数据类型为CLOB 如:

  • 问题内容: 我正在使用pyodbc驱动程序使用SQL连接到Microsoft访问表。有谁知道我要如何替换此表中的字段?我虽然要删除行,然后再放回行,但是由于访问中的自动编号,这将更改主键。 我有这个要插入到进度表中: 那么我将如何替换这些字段。假设我想将CockpitDrill从‘2’更改为‘3’,(它们都是字符串)。 任何帮助将不胜感激。 问题答案: 您可以像现在执行INSERT一样执行UPDA

  • 问题内容: :我只想显示Mysql表记录的简单ajax代码: Records.php是用于从Mysql提取记录的文件。 在数据库中只有两个字段:“名称”,“地址”。 该代码不起作用。 问题答案: 为了使用Ajax + jQuery检索数据,您应该编写以下代码: 对于mysqli连接,请编写以下代码: 为了显示数据库中的数据,您应该这样编写:

  • 在我的mongodb数据库中有4个集合。我可以使用每个集合逐个检索数据。现在,如何使用findone、getAll这样的关键字从同一代码中的不同集合中检索数据?我的模特。js如下所示。分贝- 模型1。js 模式2。js

  • `我试图用laravel从外部api检索一些数据:这是我的控制器 使用Illumbite\Http\请求;使用Illumb\Support\Facades\Http;