I can not use odbc in win11 system.

Connie Gao Personal 80 Reputation points
2025-11-28T03:45:04.22+00:00

我重新升级了系统到win11,发现odbc不可用。是兼容性问题么。相同的安装步骤,在win10没有问题。不知道怎么处理,希望有人帮帮忙

Windows development | Windows Driver Kit (WDK)
{count} votes

Answer accepted by question author
  1. Raymond Huynh (WICLOUD CORPORATION) 3,955 Reputation points Microsoft External Staff Moderator
    2025-11-28T09:56:29.7333333+00:00

    你好 Connie Gao Personal , 我阅读了你的帖子,并根据 Microsoft 文档以及社区讨论进一步调查了一下。简单来说:如果你的 Office 是以 Click-to-Run(即点即用) 方式安装的,这类安装方式会把提供 Access ODBC/OLEDB 驱动程序的 ACE 引擎封装在 Office 的虚拟环境里,因此 系统层级无法看到这些驱动,导致外部程序使用 ODBC 时会失败,即使 DLL 看起来都存在。

    你可以先检查以下几点:

    1. 确认 Office 是否为 Click-to-Run
    • 打开任意 Office 应用 → 文件 → 帐户 → 关于。

    若你看到「Click-to-Run」或显示为 Microsoft 365,而不是传统 MSI/批量授权版本,那就是 C2R。

    • 或者打开 Services(services.msc),看看是否有 Microsoft Office Click-to-Run Service。
    1. 确认系统的位数与 ODBC 管理器是否对应
    • 64 位 ODBC 管理器:C:\Windows\System32\odbcad32.exe
    • 32 位 ODBC 管理器:C:\Windows\SysWOW64\odbcad32.exe
    • 你的应用程序、Office、ODBC 驱动的位数必须一致,否则驱动无法显示或无法建立 DSN。

    你可以尝试以下方法:

    A — 如果 Office 是 Click-to-Run(大多数情况都是)

    • Microsoft 官方文件中有说明这个限制:

    https://dori-uw-1.kuma-moon.com/en-us/troubleshoot/microsoft-365-apps/access/cannot-use-odbc-or-oledb

    • 可能的解决方法:
    1. 安装 Access Database Engine 2016 Redistributable(如果你的环境是 64 位,请装 64 位):

    https://www.microsoft.com/en-us/download/details.aspx?id=54920

    这会把 ACE ODBC/OLEDB 驱动注册到系统层级。

    1. 若安装程序因为位数冲突无法继续,可以考虑:
    • 安装 Access Runtime
    • 或使用 MSI/批量授权版本的 Office,这种版本会把 ACE 驱动公开给系统。

    B — 如果你是要连接 SQL Server,而不是使用 Access 文件

    • 建议安装新版的 SQL Server ODBC 驱动(例如 ODBC 17/18),它们和 Office 无关,不会受 C2R 限制影响。

    C — 其他替代方法

    • 使用 File DSN 或在程序中直接写连接字符串,不依赖系统 DSN。
    • 让程序位数与驱动位数一致。

    参考资料:

    • Microsoft 故障排除文档:

    https://dori-uw-1.kuma-moon.com/en-us/troubleshoot/microsoft-365-apps/access/cannot-use-odbc-or-oledb

    • Access Database Engine 下载:

    https://www.microsoft.com/en-us/download/details.aspx?id=54920

    • 相关讨论:

    https://stackoverflow.com/questions/47578546/cannot-initialize-the-data-source-object-of-ole-db-provider-microsoft-ace-oledb
    (**免责声明:**部分链接指向非微软网站。这些页面似乎提供准确、安全的信息。但请注意网站上的广告,这些广告可能推广经常被归类为 PUP(潜在不需要的程序)的产品。在决定下载和安装任何广告产品之前,请务必进行充分的研究。)

    希望这些资讯对你有帮助。


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.