x64应用程序访问mdb数据库



我有一个需要在x64平台下构建的应用程序。我需要访问.mdb文件。我所说的访问是指插入、删除或更新数据库。我在使用Jet OLE数据库和ODBC驱动程序时遇到问题。对于OLE数据库,它显示"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/32位操作系统、用于构建应用程序的平台和32/64位驱动程序的问题:

  • 您为AnyCPU平台构建应用程序-您的代码运行良好在32/64位系统中,JIT编译器发出的代码将具有与客户操作系统的位相同。但是,您不能使用32位驱动程序64位应用程序,反之亦然。JET.OleDB.4.0仅为32位。如果您可以为AnyCPU编译并在64位上运行。您需要一个64位驱动程序
  • 您为x86平台构建应用程序-您的代码在32/64位系统,并且您可以使用32位驱动程序。当然是代码JIT编译器发出的是32位,因此不能使用64位64位系统上的驱动程序

最新更新