Microsoft Access 运行时引擎 64 位在访问 .accdb 文件时出错
Microsoft Access runtime engine 64-bit giving error while accessing .accdb file
我的应用程序有访问数据库文件 (.accdb),之前我们支持访问文件 .accdb 32 位版本和 MS Access 运行时引擎 2013 32 位,到目前为止工作正常。
但是现在我们需要支持access db文件(.accdb)64位版本,为此我在MS Access 64位版本(通过office 365 pro安装)中创建了一个新的.accdb文件并导入从现有数据库文件到新数据库文件的所有表并尝试查询数据库,但最终出现此错误 "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine"
以下是完整的详细信息:
机器详细信息:
Windows 7 64 位,MS Office 365 pro 64 位,MS Access runtime engine 2013 64 位版本,Build Framework 选择为 32 位
我的申请详情:
- 运行 平台:任何 CPU
- .accdb 连接字符串:"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ApplicationData\Data\Temp.accdb;Persist Security Info=True"
我也试过更改提供商详细信息,例如 OLEDB.13.0、OLEDB.14.0、OLEDB.15.0、OLEDB.16.0 等...
我已经尝试了所有方法,但不知道为什么会出现此提供程序未注册的错误。
感谢大家的帮助。终于找到了我的问题。
实际上我在这里得到的错误是因为我正在使用 ACCDB 数据库文件的应用程序是 运行 在 32 位平台上,这就是为什么我得到像 "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine" 这样的错误.
将构建平台从 32 位更新到 AnyCPU 后,一切正常。
我的应用程序有访问数据库文件 (.accdb),之前我们支持访问文件 .accdb 32 位版本和 MS Access 运行时引擎 2013 32 位,到目前为止工作正常。
但是现在我们需要支持access db文件(.accdb)64位版本,为此我在MS Access 64位版本(通过office 365 pro安装)中创建了一个新的.accdb文件并导入从现有数据库文件到新数据库文件的所有表并尝试查询数据库,但最终出现此错误 "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine"
以下是完整的详细信息:
机器详细信息: Windows 7 64 位,MS Office 365 pro 64 位,MS Access runtime engine 2013 64 位版本,Build Framework 选择为 32 位
我的申请详情:
- 运行 平台:任何 CPU
- .accdb 连接字符串:"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ApplicationData\Data\Temp.accdb;Persist Security Info=True"
我也试过更改提供商详细信息,例如 OLEDB.13.0、OLEDB.14.0、OLEDB.15.0、OLEDB.16.0 等...
我已经尝试了所有方法,但不知道为什么会出现此提供程序未注册的错误。
感谢大家的帮助。终于找到了我的问题。
实际上我在这里得到的错误是因为我正在使用 ACCDB 数据库文件的应用程序是 运行 在 32 位平台上,这就是为什么我得到像 "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine" 这样的错误.
将构建平台从 32 位更新到 AnyCPU 后,一切正常。