내가 그것을했다 !!!! 내가 지금 무엇을하고 있었는지 몇 가지 문제가, 여기에 내가 제일 먼저 드라이버 문제를했다
(그것을 처음 에단 FURMAN의 솔루션으로 시간을 구현 후)을 해결하기 위해 무엇을했는지와 함께이
, 그것은 Windows의 DBF 드라이버는 32 비트 프로그램이고 64 비트 운영 체제에서 실행되므로, Python-amd64를 설치했는데 이것이 첫 번째 문제이므로 32 비트 Python을 설치했습니다.
this에 따르면 두 번째 문제는 라이브러리/파일 문제로, VFP> 7의 dbf 파일이 다르므로 pyodbc 라이브러리가 올바르게 읽을 수 없으므로 성공하지 못하고 일부 OLE DB 라이브러리를 시도한 결과 나는 처음부터 그것을하기로 결정했다.
import win32com.client
conn = win32com.client.Dispatch('ADODB.Connection')
db = 'C:\\Profit\\profit_a\\ARMM'
dsn = 'Provider=VFPOLEDB.1;Data Source=%s' % db
conn.Open(dsn)
cmd = win32com.client.Dispatch('ADODB.Command')
cmd.ActiveConnection = conn
cmd.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()
total = total - 1
그리고 그것은 나에게 내가 확인 (20 개) 기록을했다 : 잠시 동안 인터넷 검색
마침내 기본적으로이
에 나에게 빛을 준 this 게시물에 걸렸다, 내가 한 일은 다음이었다 OK
먼저 DBFCommander으로하고 있었다, 당신은
VFP 9.0 내 경우에는,
pywin32 extensions (32 비트)와
Visual FoxPro OLE-DB Provider (32 비트에서만 사용 가능)를 설치해야합니다
또한 ADO Documentation을 w3c 웹 사이트에서 읽는 것이 좋습니다
이것은 저에게 효과적입니다. 답장을 보내 주신 분들께 진심으로 감사드립니다.
놀라운 질문과 답변에 감사드립니다. 궁금한 분은 원래의 질문 ***에있는 코드가 ** 32 비트 시스템에서 FoxPro의 이전 버전과 호환되는지 확인합니다. –