我做的!!!!
那里我所做的事情有几个问题,在这里,我提供了解决问题的方法(在第一次使用Ethan Furman解决方案实施之后)
首先是驱动程序问题,事实证明Windows的DBF驱动程序是32位程序,并且在64位操作系统上运行,因此,我安装了Python-
amd64,这是第一个问题,因此我安装了32位蟒蛇。
第二个问题是库/文件问题,根据这个,DBF文件在VFP> 7 diferent,所以我pyodbc库将无法正确读取它们,所以我尝试没有成功一些OLE-
DB库和我决定向从头开始。
谷歌搜索了一段时间,把我带到了这篇文章,这终于使我对此有所了解
基本上,我做了以下工作:
import win32com.clientconn = win32com.client.Dispatch('ADODB.Connection')db = 'C:\Profit\profit_a\ARMM'dsn = 'Provider=VFPOLEDB.1;Data Source=%s' % dbconn.Open(dsn)cmd = win32com.client.Dispatch('ADODB.Command')cmd.ActiveConnection = conncmd.CommandText = "Select * from factura, reng_fac where factura.fact_num = reng_fac.fact_num AND factura.fact_num = 6099;"rs, total = cmd.Execute() # This returns a tuple: (<RecordSet>, number_of_records)while total: for x in xrange(rs.Fields.Count): print '%s --> %s' % (rs.Fields.item(x).Name, rs.Fields.item(x).Value) rs.MoveNext() #<- Extra indent total = total - 1它给了我20条记录,这些记录是我用DBFCommander检查过并确定的
首先,您需要安装pywin32扩展(32位)和Visual
FoxPro OLE-DB提供程序(仅适用于32位),在我的情况下适用于VFP 9.0
另外,最好在w3c网站上阅读ADO文档
这对我有用。非常感谢那些回答的人



