You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi 10.2 Tokyo+Oracle 11g仅Debug模式报错:无法加载oci.dll(错误126)

解决64位Win10下Delphi 10.2调试32位Oracle应用时oci.dll加载失败(错误126)的问题

原32位Win10下基于Delphi 10.2 Tokyo + Oracle 11g开发的32位应用运行正常,迁移到64位Win10后,应用可正常编译直接运行,但F9调试时抛出TDBXError/EOleException,提示:Cannot load oci.dll library (error code 126). The oci.dll library may be missing from the system path or you may have an incompatible version of the library installed

核心原因

64位Windows系统中,Delphi 32位调试器的DLL加载路径优先级与直接运行程序不同,导致调试时无法定位到正确的32位oci.dll,或加载了不兼容的版本。

具体解决步骤

  • 安装匹配版本的32位Oracle客户端
    必须安装Oracle 11g对应的32位客户端(不能用64位客户端),安装完成后将客户端的bin目录(例如C:\Oracle\11gClient32\bin)添加到系统PATH环境变量最前端,避免被64位系统路径覆盖。

  • 配置Delphi调试专属环境变量

    1. 打开Delphi 10.2,依次点击Tools > Options > Environment Variables
    2. 在User overrides区域添加PATH变量,值设置为:[32位Oracle客户端bin目录];%PATH%(例如C:\Oracle\11gClient32\bin;%PATH%)
    3. 保存设置后重启Delphi,确保环境变量生效。
  • 修正DLL放置路径
    不要将oci.dll直接放入System32目录(该目录为64位DLL专属),32位DLL应放在SysWOW64目录,但更推荐通过Oracle客户端目录的方式管理,避免版本冲突。

  • 检查DLL依赖完整性
    用32位版本的Dependency Walker打开你的32位oci.dll,检查是否存在缺失的依赖库(如msvcr100.dll等运行时库),将缺失的库复制到32位Oracle客户端的bin目录下。

  • 调整Delphi调试器兼容性
    右键Delphi 10.2快捷方式,选择Properties:

    1. 在Compatibility标签下勾选Run this program in compatibility mode for,选择Windows 7
    2. 勾选Run as administrator,避免权限问题导致DLL读取失败
  • 验证项目调试设置
    打开项目选项:Project > Options > Debugger > OS Platforms > Windows 32-bit
    确认Debugger path包含32位Oracle客户端的bin目录,或勾选Use system PATH并确保系统PATH已正确配置。

内容的提问来源于stack exchange,提问作者Anderson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 18:31:07