32 位机器上的 .dbf 连接
.dbf connection on 32bit machine
我创建了一个读取 .dbf 数据库并将结果输出到 xml 文件的控制台 exe,在我的开发机器上一切正常(64 位,win 10,Visual studio 2015) ,创建的 exe 在任何 64 位机器上运行良好,但在 32 位机器上崩溃。
我已将构建设置为目标 x86
我尝试了很多不同的连接字符串,在 x64 机器上工作的是
con.ConnectionString = @"Provider=VFPOLEDB;Data Source=" + path + ";";
当 运行 在 32 位机器上
时,这会引发无效异常错误 "The VFPOLEDB" 提供程序未在本地机器上注册”
适用于 x64 的第二个连接字符串是
_connection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=dBASE IV;";
当在 32 位计算机上 运行 时,会抛出:"The VFPOLEDB.1" 提供程序未在本地计算机上注册”。
我在 32 位 windows 7 机器上设置了 VS2013 运行 相同的代码,然后它既可以在开发模式下运行,也可以通过 运行 单独创建的 exe 运行。
欢迎任何advice/suggestions。
您需要在目标机器上安装 FoxPro OLEDB 提供程序 (VFPOLEDB):
https://www.microsoft.com/en-us/download/details.aspx?id=14839
(可能最好使用这个包而不是仅仅复制 VfpOleDB.dll)
我创建了一个读取 .dbf 数据库并将结果输出到 xml 文件的控制台 exe,在我的开发机器上一切正常(64 位,win 10,Visual studio 2015) ,创建的 exe 在任何 64 位机器上运行良好,但在 32 位机器上崩溃。
我已将构建设置为目标 x86
我尝试了很多不同的连接字符串,在 x64 机器上工作的是
con.ConnectionString = @"Provider=VFPOLEDB;Data Source=" + path + ";";
当 运行 在 32 位机器上
时,这会引发无效异常错误 "The VFPOLEDB" 提供程序未在本地机器上注册”适用于 x64 的第二个连接字符串是
_connection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=dBASE IV;";
当在 32 位计算机上 运行 时,会抛出:"The VFPOLEDB.1" 提供程序未在本地计算机上注册”。
我在 32 位 windows 7 机器上设置了 VS2013 运行 相同的代码,然后它既可以在开发模式下运行,也可以通过 运行 单独创建的 exe 运行。
欢迎任何advice/suggestions。
您需要在目标机器上安装 FoxPro OLEDB 提供程序 (VFPOLEDB):
https://www.microsoft.com/en-us/download/details.aspx?id=14839
(可能最好使用这个包而不是仅仅复制 VfpOleDB.dll)