无法在 Office 即点即用应用程序之外使用 Access ODBC、OLEDB 或 DAO 接口
症状
尝试为 Microsoft Access 在数据源 ODBC 管理员中提供的驱动程序创建 ODBC DSN 时,尝试失败。 如果使用的即点即用 (C2R) 安装的 Office 不会在 Office 虚拟化泡沫外部公开 Access 数据库引擎,则会出现此问题。 根据 Office 的版本,在尝试此操作时可能会遇到以下任何问题:
ACEODBC.DLL 提供的 ODBC 驱动程序未在 “选择驱动程序 ”对话框中列出。
收到“操作系统当前未配置为运行此应用程序”错误消息。
收到“无法加载 odbcji32.dll”错误消息。
你会收到“此用户 DSN 的驱动程序不存在。 它只能与显示 N/A 的平台一起删除“错误消息。
受影响的驱动程序:
- 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 管理员创建计算机/系统数据源名称。