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

使用pyodbc连接Progress OpenEdge 10.1B驱动报错126找不到指定模块

错误原因

  • Progress OpenEdge 10.1B 官方仅提供32位ODBC驱动,无原生64位版本,报错中提到的pgoe1022.dll为32位动态链接库,64位进程无法直接加载,因此系统提示找不到指定模块。
  • Python运行环境与驱动架构不匹配:若你当前使用的是64位版本Python,默认会调用系统64位ODBC驱动列表,找不到匹配的64位Progress驱动就会触发126错误。
  • 网络映射盘权限问题:报错中的dll存储在网络映射盘U:\路径下,64位进程对网络映射盘的访问权限默认与32位进程不同,也可能导致驱动加载失败。

解决方案

方案1:使用32位Python环境(最稳妥)

  • 卸载当前64位Python,安装32位版本Python(3.7及以下版本对OpenEdge 10.1B的兼容性更好)。
  • 重新安装对应32位版本的pyodbc库:
pip install pyodbc
  • 无需修改现有连接代码,直接运行即可正常连接。

方案2:配置32位ODBC数据源别名

  • 按下Win+R输入odbcad32.exe打开32位ODBC数据源管理器,不要使用系统默认的64位ODBC管理器。
  • 在「用户DSN」或「系统DSN」页签点击添加,选择Progress OpenEdge 10.1B Driver,按照你的连接参数填写主机地址、数据库名、端口、账号密码,测试连接成功后保存数据源,可自定义命名比如Progress_Uyum2008。
  • 修改连接代码,直接调用已配置的数据源别名即可:
import pyodbc
cnxn = pyodbc.connect("DSN=Progress_Uyum2008")

方案3:必须使用64位Python的处理方法

  • 将Progress OpenEdge数据库升级到11.2及以上版本,该版本开始官方提供原生64位ODBC驱动,可直接匹配64位Python和pyodbc。
  • 若无法升级数据库版本,可部署32位到64位的ODBC桥接工具实现适配,该方法会增加连接性能损耗,稳定性低于直接使用32位环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:39:03