【发布时间】:2012-12-21 17:28:56
【问题描述】:
在一个项目中,我需要从 Visual FoxPro 数据库中提取数据,该数据库存储在 dbf 文件中,y 有一个数据目录,其中包含我需要考虑的 539 个文件,每个文件代表一个数据库表,所以我一直在做一些测试,我的代码是这样的:
import pyodbc
connection = pyodbc.connect("Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=P:\\Data;Exclusive=No;Collate=Machine;NULL=No;DELETED=Yes")
tables = connection.cursor().tables()
for _ in tables:
print _
这仅打印 15 个表,没有明显的模式,总是相同的 15 个表,我认为这是因为其余表是空的,但我检查了列表中的一些表(dbf 文件)是空的同样,我还以为是权限问题,但是所有文件都有相同的权限结构,所以,我不知道这里发生了什么。
有灯吗??
编辑: 它没有截断输出,它列出的表不是第 15 个或类似的表
【问题讨论】:
-
感谢您的精彩问答!对于任何好奇的人,原始问题中的代码是否适用于 32 位系统上的旧版本 FoxPro。
标签: python database pyodbc dbf