首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 10中未识别的“Microsoft.ACE.OLEDB.12.0”

Windows 10中未识别的“Microsoft.ACE.OLEDB.12.0”
EN

Stack Overflow用户
提问于 2016-08-18 14:04:40
回答 1查看 25.8K关注 0票数 2

背景

我正在开发一个连接到Microsoft数据库的Windows表单应用程序。

这是我在开发中使用的示例代码:

代码语言:javascript
复制
try
{
    string AccessFilePath = @"\.myDataBase.mdb"; // Path of the Access database.
    string sqlStatement = "SELECT * FROM myTable WHERE IdTable = 5;";
    string connstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + AccessFilePath;
    OleDbConnection conn = new OleDbConnection(connstr);
    OleDbCommand cmd = new OleDbCommand();
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = sqlStatement;
    cmd.Connection = conn;
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
}
catch (Exception ex)
{
    MessageBox("Error: " + ex.Message);
}

下面的列表描述了我的开发环境:

  • Visual Studio 2015社区
  • 在框架.NET 4.0中创建的解决方案
  • 操作系统: Windows 10 Pro - 64位.
  • 此开发必须适用于Windows、Windows 7和更高版本。

我已经安装了:

发行

在拥有Windows10Pro操作系统的个人电脑中,我在C:/硬盘中搜索,发现ACEOLEDB.DLL已经安装在以下位置:

这是在安装数据连接组件之前的

代码语言:javascript
复制
- C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\OFFICE16
- C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15
- C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14

单击此处可放大图像:

当我在PC中安装数据连接组件时,ACEOLEDB.DLL位于:

代码语言:javascript
复制
- C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared

我真的不知道为什么即使在安装了组件之后,我仍然会收到以下错误:

“'Microsoft.ACE.OLEDB.12.0‘提供程序未在本地计算机上注册”

问题

  • 操作系统是如何处理数据连接组件的?
  • 如何正确验证OS是否安装了数据连接组件?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-22 21:43:28

在将Platform Target更改为x86后,如用户LarsTech在其评论中所建议的那样,在最终用户计算机中使用Windows 7操作系统,并且没有安装Office套件。它正常工作了。

我以为这个改变就足够了,但是,由于一些未知的原因,在我的电脑里,这还不够。

因此,我不得不再次研究,我发现了一个类似的问题,这里

在这种特殊情况下的解决方法是安装:

Microsoft 2010运行时

在我的例子中,创建了以下ACEOLEDB.DLL条目:

代码语言:javascript
复制
- C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12
- C:\Windows\Installer\$PatchCache$\Managed\00004109C10000000000000000F01FEC\14.0.4763

我认为最后一个条目是由2010年运行时安装创建的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39020305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档