0

我有一个连接到 dBase 格式数据库文件的项目,我过去总是使用以下形式的连接字符串完成该项目:

PROVIDER=Microsoft.Jet.OLEDB.4.0;数据源=MyData.dbf;扩展属性=dBASE 5.0

我最近不得不重新审视这一点,并发现当尝试OleDbConnection在 x64 机器上使用该连接字符串创建一个时,它上面安装了 x86 的 Office,它会引发异常。

快速修复表明强制应用程序以 x86 为目标只能使其工作,但我希望能够整理它并提前检查它是否无法创建连接,以便我可以自定义我的导入选项以适应可用的供应商。

是否可以枚举当前处理器架构的可用数据提供者?(除了依赖于捕获异常——毕竟,框架设计指南建议你应该只在异常情况下抛出,并且你有一个方法来检查某些东西是否会抛出异常)

4

1 回答 1

0

您可以使用 OleDbEnumerator 类找出可用的提供程序。不确定重点是什么,您最终只会向用户显示一个空的选择列表。没有可用的 64 位版本的 JET 提供程序,也没有替代方案。您仍然会接到用户的电话,要求您更改程序。只要您想支持 JET,您就需要将构建目标设置为 x86。

于 2010-05-12T15:52:26.057 回答