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

RobotFramework自动化测试连接Oracle数据库报DPI-1047错误求助

解决RobotFramework连接Oracle数据库DPI-1047报错方案

操作步骤

  • 处理Oracle Instant Client安装:你找不到可执行文件是因为Windows版64位Oracle Instant Client本身就是免安装压缩包,无需运行安装程序。下载和你要连接的Oracle服务端大版本兼容的instantclient-basic-windows.x64-xxx.zip包,直接解压到本地无中文、无空格的路径下即可,示例路径:C:\Oracle\instantclient_19_18。
  • 配置系统环境变量:
    • 把刚才解压的Instant Client根目录路径,添加到系统环境变量Path的最顶部,避免和其他版本Oracle客户端冲突
    • 新增系统环境变量TNS_ADMIN,值同样设置为Instant Client的根目录路径
    • 新增系统环境变量NLS_LANG,值根据数据库字符集设置,常用值为SIMPLIFIED CHINESE_CHINA.AL32UTF8,可避免查询结果中文乱码
  • 重启运行环境:环境变量修改后需要完全关闭所有命令行、IDE工具后重新打开,确保环境变量生效
  • 验证cx_Oracle适配性:在你运行RobotFramework的Python环境中执行import cx_Oracle,如果无报错说明客户端配置生效;如果仍报错可以执行pip uninstall cx-Oracle后重新安装和Instant Client大版本匹配的cx_Oracle版本,比如Instant Client为19.x版本时,安装8.3及以上版本的cx_Oracle即可
  • 补充可选兼容配置:如果环境变量配置后仍不生效,可以在连接数据库的关键字开头增加代码手动指定客户端路径,示例:
*** Keywords ***
Connect to database
    Evaluate  cx_Oracle.init_oracle_client(lib_dir=r"C:\Oracle\instantclient_19_18")  cx_Oracle
    Connect To Database Using Custom Params  cx_Oracle
    ...  user='${DBUSER}', password='${DBPASS}', dsn='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=${DBHOST})(PORT=${DBPORT})))(CONNECT_DATA=(SID=${DBName})))'

你原有测试用例逻辑不需要修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:21:03