【问题标题】:Cannot connect to Access database无法连接到 Access 数据库
【发布时间】:2016-08-28 15:20:09
【问题描述】:

我正在尝试访问存储在 Microsoft Access 数据库中的文件(我在 Visual Studio Community 2015 中工作),并且我的机器上还安装了 Office 365 64 位版本。

我将编译下的 Target CPU 设置为 x64。我选择了数据库源类型和数据集数据库模型,当它询问我“您的应用程序应该使用哪个数据连接来连接数据库?”时,我单击了新建连接,然后我选择了 Microsoft Access 数据库文件 (OLE DB)。

在数据库文件名下,我单击浏览并选择了适当的文件 (Sales.accdb)。当我按“测试连接”或确定时,我收到此错误:

无法识别的数据库格式'C:.....\Sales.accdb。

关于我做错了什么有什么想法吗?

【问题讨论】:

  • Sales.accdb 是在 Access 2007 或更高版本中创建的,您是否在同一台计算机上安装了 Access 2007 或更高版本?
  • 或者您可以将目标 CPU 设置为 x86
  • 我之前也遇到过类似的问题,我下载了这个,正在路上microsoft.com/en-us/download/details.aspx?id=13255即使我的系统是64位,我也下载了32位
  • 我拥有包含 Access 的 Office 365 64 位,并且我在同一台机器上拥有 Visual Studio Community。我在同一台机器上创建了有问题的数据库。我可能不理解某些东西,但是由于我已经拥有 Office,那么按照您的建议下载 Redistributable 是否有意义?这会给我带来其他问题吗?谢谢

标签: database vb.net ms-access


【解决方案1】:

事实证明,我所要做的就是安装正确的 Access 数据库引擎,它可以在 https://www.microsoft.com/en-us/download/details.aspx?id=13255 找到

它现在可以完美安装和运行。我显然对 Visual Studio 所需的 Access 数据库引擎和完全不同的 Access 2016 运行时感到困惑。这是 Gord Thompson 向我指出的。

【讨论】:

    【解决方案2】:

    Office 365 的存在无关紧要 - 您需要正确的 MS Access 数据库引擎。详情见this SO帖子。

    【讨论】:

    • 嗯,这很有意义,我想肯定就是这样。所以我去了 microsoft.com/en-us/download/details.aspx?id=50040 并下载了 2016 Runtime。那是正确的文件吗?不幸的是,当我尝试安装时,我得到了这个;很抱歉,Microsoft Office 安装程序遇到问题,因为您的计算机上安装了这些基于即点即用安装程序的 Office 程序:Microsoft Office 365 - en-us Windows Installer 和 Office 程序的即点即用版本'不适合这个版本,所以你一次只能安装一种类型..
    • 我想做的只是编写一些小程序,这些程序将连接到我在 Office 365 中使用 Access 创建的 Access 数据库。据我所知,现在看来 它可以没有完成。! 因为这要求 Visual Studio 仍然需要正确的 MS Access 数据库引擎。当我尝试安装 2016 运行时时,我收到错误消息“很抱歉,Microsoft Office 安装程序遇到问题,因为您的计算机上安装了这些基于即点即用安装程序的 Office 程序:”我希望我只是弄错了。
    • 抱歉回复晚了 - 我正在度假。好吧,如果创建者这么说,它不会起作用,那么它就不会起作用;也许有一个 hack 或其他东西可以让它们并排运行,但其他可能的解决方案对我来说更可行 - 你能制作一个 VM 并安装你需要的项目吗? Hyper-V 是 Windows 8 及更高版本的一部分,因此您只需启用它并在您的工作 PC 中创建 VM...
    • 非常感谢。我没有考虑过使用虚拟机。听起来是一个非常有趣的解决方案。另一种解决方案是将 accdb 转换为 mdb 数据库,然后它可能会起作用。感谢您的帮助。
    • 感谢 Gord Thompson 让我了解 Access 数据库引擎和 Access 2016 运行时之间的区别。我很困惑。安装它也不是没有问题。我安装了 AccessDatabaseEngine_X64.exe。当我尝试连接时,仍然收到错误消息,“'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册。”我卸载了它并安装了 32 位版本和成功! Access 数据库引擎可以并且确实与 Office 365 并行运行..
    【解决方案3】:

    您需要在 32 位 MS Office(目前为 Access 2016 AKA Access 365)中使用 32-bit Access Database Engine 执行此操作。它工作正常。尽管这两个组件都是 32 位的,但 Office 中有一个小的 64 位安装程序文件,请参阅屏幕截图,并且必须先将其删除 - 如何查看此advice

    带有 64 位 Access 数据库引擎 2016 的 64 位 Access 2016 产生“'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册。”问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多