x64应用程序访问mdb数据库

我有一个需要在x64平台下构建的应用程序。 我需要访问.mdb文件。 通过访问我的意思,插入,删除或更新数据库。 我在使用Jet OLE数据库和ODBC驱动程序时遇到问题。 使用OLE db,它显示“Jet Oledb未注册”。 ODBC平台驱动程序和应用程序之间不匹配。 我可以在X86平台上进行这些操作。 但在我的应用程序中,我被要求在x64平台下构建我的项目。 任何人都可以为我提供任何解决方案。 注意我不应该使用任何第三个应用程序与x64应用程序和数据库进行通信。

感谢您提前做出的任何回复。

您需要使用Microsoft的最新驱动程序ACE
在这里你可以找到下载位

注意为您的目标计算机下载正确的集(x64或x86)此外,连接字符串应该使用这些驱动程序,因此您可能需要这样的连接字符串

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=yourPathToTheMDBFile.mdb; Persist Security Info=False; 

作为替代方案,您可以为x86平台构建应用程序,如果您没有与64位代码直接交互,它将在64位操作系统中运行。 这个解决方案是首选,因为您可以使用旧的JET.OleDb.4.0

让我简单解释64 / 32bit操作系统的问题,用于构建应用程序和32/64位驱动程序的平台:

  • 您为AnyCPU平台构建应用程序 – 您的代码在32/64位系统中正常工作,JIT编译器发出的代码将具有与来宾操作系统相同的位数。 但是,您无法使用64位应用程序的32位驱动程序,反之亦然。 JET.OleDB.4.0仅为32位。 如果您为AnyCPU编译并在64位上运行,则游戏结束。 你需要一个64位驱动程序。
  • 您为x86平台构建应用程序 – 您的代码在32/64位系统中运行良好,您可以使用32位驱动程序。 当然,JIT编译器发出的代码是32位,因此你不能在64位系统上使用64位驱动程序。