我创建了一个控制台exe,它读取.dbf数据库并将结果输出到xml文件,所有在我的开发机器上运行正常(64位,win 10,Visual Studio 2015),创建的exe在任何64上工作正常比特机但在32比特的机器上崩溃。
我尝试了许多不同的连接字符串,那些适用于x64机器的连接字符串
con.ConnectionString = @"Provider=VFPOLEDB;Data Source=" + path + ";";
这会抛出一个无效的异常错误" VFPOLEDB"提供商未在本地机器上注册"在32位机器上运行时
适用于x64的第二个连接字符串是
_connection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=dBASE IV;";
这引发了:" VFPOLEDB.1"提供商未在本地机器上注册"在32位机器上运行时。
我在32位Windows 7机器上运行VS2013运行相同的代码,然后它在开发模式下工作,只需运行单独创建的exe。
任何建议/建议都是最受欢迎的。
答案 0 :(得分:1)
您需要在目标计算机上安装FoxPro OLEDB提供程序(VFPOLEDB):
https://www.microsoft.com/en-us/download/details.aspx?id=14839
(可能最好使用此软件包,而不仅仅是复制VfpOleDB.dll)