通过Blue Prism连接Oracle DB遇OraOledb.oracle未注册错误求助
我之前在使用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命令,看输出里有没有目标驱动。
- 如果是64位系统+64位驱动:打开
最后别忘了重启!
安装驱动或者注册dll后,一定要重启Blue Prism,如果还是不行,重启一下电脑。有时候系统需要刷新注册表才能识别新安装的驱动。
内容的提问来源于stack exchange,提问作者Jamal Mohamed




