You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

通过Blue Prism连接Oracle DB遇OraOledb.oracle未注册错误求助

解决Blue Prism连接Oracle时“OraOledb.oracle provider is not registered”的问题

我之前在使用Blue Prism对接Oracle数据库时,也碰到过完全一样的报错——明明已经装了64位OLEDB驱动,还能在提供程序列表里看到,但就是连不上。折腾了好一阵才找到几个关键的解决点,分享给你:

  • 先确认Blue Prism的运行位数!
    这是最容易踩的坑:如果你的Blue Prism是32位版本,哪怕装了10个64位的OLEDB驱动都没用。你可以打开Blue Prism,点击顶部菜单栏的Help -> About Blue Prism,看弹出窗口里的版本信息有没有标注“32-bit”;或者打开任务管理器,找到Blue Prism的进程,看名称后面有没有*32的后缀。如果是32位,你需要去Oracle官网下载对应版本的32位OLEDB驱动安装,而不是64位的。

  • 手动注册OLEDB驱动(管理员权限)
    就算驱动显示在列表里,也可能存在注册不彻底的情况。找到你安装的OLEDB驱动的dll文件(比如路径可能是C:\Program Files\Oracle\OraClient19Home1\bin\OraOLEDB19.dll,具体路径根据你安装的Oracle客户端版本调整),然后右键点击命令提示符,选择“以管理员身份运行”,执行命令:

    regsvr32 "你的dll文件完整路径"
    

    执行成功后会弹出注册成功的提示框。

  • 检查连接字符串的Provider配置
    确保Blue Prism里的数据库连接字符串中,Provider的名称拼写完全正确,应该是Provider=OraOLEDB.Oracle;,别写错大小写或者多加了版本号(除非你特意指定了特定版本的驱动)。完整的连接字符串大概是这样:

    Provider=OraOLEDB.Oracle;Data Source=你的数据库实例名;User Id=用户名;Password=密码;
    
  • 验证驱动是否真的注册成功
    可以用ODBC数据源管理器来确认:

    • 如果是64位系统+64位驱动:打开C:\Windows\System32\odbcad32.exe,切换到“提供程序”标签,找有没有OraOLEDB.Oracle
    • 如果是32位驱动:打开C:\Windows\SysWOW64\odbcad32.exe,同样在“提供程序”标签里查找。
      或者用PowerShell执行Get-OleDbProvider命令,看输出里有没有目标驱动。
  • 最后别忘了重启!
    安装驱动或者注册dll后,一定要重启Blue Prism,如果还是不行,重启一下电脑。有时候系统需要刷新注册表才能识别新安装的驱动。

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

火山引擎 最新活动