症状
尝试为数据源 ODBC 管理员中Microsoft Access提供的驱动程序创建 ODBC DSN 时,尝试会失败。 如果你使用的是 Office 的即点即用 (C2R) 安装,并且该安装不会在 Office 虚拟化环境之外提供对 Access 数据库引擎 的访问,就会出现此问题。 尝试此操作时,可能会遇到以下任何问题,具体取决于 Office 版本:
ACEODBC.DLL提供的 ODBC 驱动程序未在 “选择驱动程序 ”对话框中列出。
收到“操作系统当前未配置为运行此应用程序”错误消息。
收到“无法加载 odbcji32.dll”错误消息。
你会收到“此用户 DSN 的驱动程序不存在。 只能删除“错误消息以及显示 N/A 的平台。
受影响的驱动程序:
- Microsoft Access 驱动程序(*.mdb,*.accdb)
- Microsoft Access文本驱动程序 (*.txt, *.csv)
- Microsoft Excel驱动程序 (*.xls, *.xlsx, *.xlsm, *.xlsb)
此外,如果您尝试通过在 Office 外部运行的外部应用程序,使用 Microsoft.ACE.OLEDB.12.0 或 Microsoft.ACE.OLEDB.16.0 OLEDB 提供程序来定义 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运行时 |
| Office 2010/2013/2016 MSI | 否 | - |
| 未安装 Office | 是的 | Microsoft 365 Access Runtime |
Note
- Microsoft Access 数据库引擎 2016 可再发行组件未被列为建议安装项,因为 Access 数据库引擎 2016 和 Microsoft 365 应用版 使用相同的主版本标识符 (16.0),这可能会导致不可预期的行为。 如果检测到这种情况,Office 并行安装检测也会阻止安装继续进行。
有关创建 ODBC 连接的详细信息
所有即点即运行的 Office 实例都无法在 Office 应用程序内或 ODBC 数据源管理器中创建“计算机/系统”数据源名称。