代码之家  ›  专栏  ›  技术社区  ›  Rowland Shaw

如何为当前处理器体系结构枚举已安装的OleDb提供程序?

  •  0
  • Rowland Shaw  · 技术社区  · 16 年前

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

    OleDbConnection 如果x64机器上安装了x86版本的Office,那么它会抛出一个异常。

    快速 hack of a fix 显示了强制应用程序以x86为目标只能使其工作,但我希望能够整理一下并提前检查它是否无法创建连接,以便我可以自定义导入选项以适合可用的提供者。

    是否可以枚举可用的数据提供程序 ? (除了依赖于捕获异常之外——毕竟,框架设计指南建议您 应该 仅在异常情况下抛出,并且您有一个方法来检查某个对象是否会抛出异常)

    1 回复  |  直到 9 年前
        1
  •  0
  •   Hans Passant    16 年前

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

    推荐文章