出现这个错误的主要原因有下面几个:
1.未安装Oledb程序。
解决方法:到官网找到对应的ODAC并执行安装。安装好后通常会多出一个bin文件夹
2.安装好ODAC后未注册。
解决方法:到对应的bin文件下面注册OraOLEDB11.dll。这里大多数人都不能直接注册成功,原因是少了环境变量。
- 在PATH中加入 C:\instantclient_11_2(自己instant文件夹的位置和名称)和C:\instantclient_11_2\bin(自己instant文件夹的位置和名称);
- 新建ORACLE_HOME值为C:\instantclient_11_2(自己instant文件夹的位置和名称)
- 重启电脑后,在cmd转到对应bin文件夹执行 regsvr32 OraOLEDB11.dll 注册成功即可
- 若此时不成功,可尝试将instant文件夹属性->安全->查看当前用户Users是否具有修改等全部权限
- 另外,如果在IIS中部署,可能还需要在应用程序池中设置允许32位系统,视具体情况而定
以上完成后,应该就没有什么问题了