我在64位Windows 7 Home Premium操作系统上安装了此link的Visual FoxPro驱动程序,并尝试使用REGSVR32注册vfpoledb.dll。我能够注册这个DLL但是在运行时我访问VFP数据库的应用程序会抛出以下错误:
System.InvalidOperationException:'VFPOLEDB.1'提供程序未在本地计算机上注册。
相同的应用程序在32位Windows 7 Home Premium操作系统中运行良好,没有任何问题。我搜索了64位VFP驱动程序,发现这个link没有64位操作系统的VFP驱动程序。请帮我解决这个问题。
答案 0 :(得分:16)
我发现64位操作系统没有64位VFP驱动程序。我们所要做的就是更改项目属性中的构建选项,并将Platform Target设置为X86而不是Any CPU。构建X86的应用程序。有关详细信息,请参阅this。
答案 1 :(得分:0)
有点晚了,但可能会对其他人有所帮助:)您可以使用Advantage OLE DB Provider for Windows 64-bit,其作用类似于VFPOLEDB。 python中的示例:
conn = win32com.client.Dispatch('ADODB.Connection')
dsn = 'Provider=Advantage OLE DB Provider;Data Source=%s; ServerType=ADS_LOCAL_SERVER; TableType=ADS_VFP;' % folder
conn.Open(dsn)
cmd.CommandText = 'ALTER TABLE test ALTER COLUMN area NOT NULL'
cmd.Execute()
答案 2 :(得分:-1)
This Page描述了如何在64位窗口上运行32位驱动程序。 (您必须在32位ODBC管理器中进行设置。)