您需要使用 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 编译器发出的代码将具有与来宾操作系统相同的位数。但是,您不能通过 64 位应用程序使用 32 位驱动程序,反之亦然。JET.OleDB.4.0 只有 32 位。如果您为 AnyCPU 编译并在 64 位上运行,则游戏结束。您需要一个 64 位驱动程序。
- 您为 x86 平台构建应用程序- 您的代码在 32/64 位系统中运行良好,您可以使用 32 位驱动程序。当然,JIT 编译器发出的代码是 32 位的,因此您不能在 64 位系统上使用 64 位驱动程序。