无法在 Office 即点即用应用程序之外使用 Access ODBC、OLEDB 或 DAO 接口

症状

尝试为 Microsoft Access 在数据源 ODBC 管理员中提供的驱动程序创建 ODBC DSN 时,尝试失败。 如果使用的即点即用 (C2R) 安装的 Office 不会在 Office 虚拟化泡沫外部公开 Access 数据库引擎,则会出现此问题。 根据 Office 的版本,在尝试此操作时可能会遇到以下任何问题:

  • ACEODBC.DLL 提供的 ODBC 驱动程序未在 “选择驱动程序 ”对话框中列出。

  • 收到“操作系统当前未配置为运行此应用程序”错误消息。

  • 收到“无法加载 odbcji32.dll”错误消息。

  • 你会收到“此用户 DSN 的驱动程序不存在。 它只能与显示 N/A 的平台一起删除“错误消息。

    ODBC 数据源管理员的屏幕截图,其中显示了错误消息和平台。

受影响的驱动程序:

  • Microsoft Access 驱动程序 (*.mdb、*.accdb)
  • Microsoft Access 文本驱动程序 (*.txt,*.csv)
  • Microsoft Excel Driver (*.xls、*.xlsx、*.xlsm、*.xlsb)

此外,如果尝试使用 Microsoft.ACE.OLEDB.12.0 或 Microsoft.ACE.OLEDB.16.0 OLEDB 提供程序从外部应用程序 (在 Office) 外部运行的应用程序定义 OLEDB 连接,则尝试连接到提供程序时会遇到“找不到提供程序”错误。

原因

Office 的即点即用安装在本地操作系统上的独立虚拟环境中运行。 Office 外部的某些应用程序可能不知道在隔离环境中查找安装的位置。

解决方案

从 Microsoft 365 企业应用版 2009 开始,已完成将 ACE 打破 C2R 虚拟化泡沫 的工作,以便 Office 外部的应用程序能够在 C2R 安装中查找 Access 数据库引擎提供的 ODBC、OLEDB 和 DAO 接口。

使用下表了解在环境中访问这些接口是否需要其他组件:

当前 Office 安装 需要其他组件 建议的其他安装
Microsoft 365 企业应用版、Office 2016/2019/2021 消费者版 2009 或更高版本 -
Office LTSC 2021 (批量许可证) -
Office 2016/2019 专业增强版 C2R (批量许可证) 升级到 Office LTSC 2021 (批量许可证) 或安装 Microsoft Access 2013 Runtime
Office 2010/2013/2016 MSI -
无 Office 安装 Microsoft 365 Access Runtime

注意

  • Microsoft Access 数据库引擎 2016 可再发行组件未作为建议安装提供,因为 Access 数据库引擎 2016 和 Microsoft 365 应用都使用相同的主版本标识符 (16.0) 这可能会引入意外行为。 如果检测到此方案,Office 并行检测也会阻止安装继续进行。

有关创建 ODBC 连接的详细信息

Office 的所有即点即用实例都无法从 Office 应用程序内或数据源 ODBC 管理员创建计算机/系统数据源名称。