【问题标题】:Managed driver for MS AccessMS Access 的托管驱动程序
【发布时间】:2017-09-12 09:27:13
【问题描述】:

可以使用 JET 或更新的 ACE 读取 MS Access 文件。这两个都是本机驱动程序,即必须安装它们。可以使用本机驱动程序(Oracle 客户端)或托管 .NET 驱动程序(ODP.NET)查询 Oracle 数据库。是否有用于 MS Access 的托管 .NET 驱动程序?

【问题讨论】:

    标签: .net ms-access driver


    【解决方案1】:

    有一个名为 ODBC.NET 的托管提供程序,它仅在 SQL Server、Oracle 和 Access/JET 上进行了测试。

    尽管它是一个“托管”的 .net 提供程序,但它仍然需要安装 Access ODBC 提供程序 ALSO。 (所以你无法绕过这个问题——至少在 Access 的情况下)。因此,在 JET 的情况下,假定 Windows 上存在非托管代码驱动程序。

    当然,在 Windows 中,SQL Server 和 JET 提供程序都是默认安装的。因此理论上你不必安装任何额外的东西。

    因此请记住,Windows 包括可以读取“mdb”文件的 JET 提供程序,但不包括需要您安装 ACE 数据库引擎的 accDB 文件。

    上述 .net “托管”驱动程序仅适用,因为 Windows 默认包含非托管 Access 驱动程序。

    关于 SQL 服务器,我不是 100% 确定这一点,但它再次表明托管 SQL 驱动程序可以工作,因为它使用 Windows 默认提供的内置非托管驱动程序。所以我不能为 SQL server 确认这一点,但我可以为 Access/JET 确认。

    因此,关于 Access/JET,您将使用一些非托管代码,尽管事实上不必安装任何关于读取 mdb 文件的东西 - 但对于 accDB 格式文件,您将必须包含 ACE 连接组件.

    并且 ODBC.NET 提供程序在托管代码仍然假定您使用默认安装的非托管 JET 驱动程序用于 mdb 文件,或者在“accdb”文件的情况下,则假定您已安装 ACE 驱动程序.不管你如何切分它,你可能不需要安装任何东西,但在所有情况下,你仍然使用一些假定存在于你的计算机上的非托管代码——这意味着这些驱动程序必须匹配.net 项目的位大小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-02
      • 2013-07-09
      • 2021-12-26
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      相关资源
      最近更新 更多