32位机器上的.dbf连接

时间:2017-11-08 11:47:54

标签: c# x86 connection

我创建了一个控制台exe,它读取.dbf数据库并将结果输出到xml文件,所有在我的开发机器上运行正常(64位,win 10,Visual Studio 2015),创建的exe在任何64上工作正常比特机但在32比特的机器上崩溃。

我已将构建设置为目标x86 properties

我尝试了许多不同的连接字符串,那些适用于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。

任何建议/建议都是最受欢迎的。

1 个答案:

答案 0 :(得分:1)

您需要在目标计算机上安装FoxPro OLEDB提供程序(VFPOLEDB):

https://www.microsoft.com/en-us/download/details.aspx?id=14839

(可能最好使用此软件包,而不仅仅是复制VfpOleDB.dll)