更新oracle数据库提示未找到程序,程序连接Oracle数据库出现未找到提供程序.该程序可能未正确安装错误提示...

好不容易使用plsql可以成功连上数据库了,应用程序连接数据库却出现了问题

其实解决这个问题也简单:

1.  查看oracle安装目录下的BIN目录,E:\app\Administrator\product\11.1.0\db_1\BIN

发现有OraOLEDB11.dll这个文件

解决方法:

注册OraOLEDB11.dll

注册方法:

regsvr32  OraOLEDB11.dll

发现问题依旧

Provider=OraOLEDB.Oracle.1 未找到提供程序.该程序可能未正确安装.

2.

在命令提示符下,键入   cd   %systemroot%:\Program   Files\Common   Files\System\Ole。

在命令提示符下,键入   regsvr32   sqloledb.dll,regsvr32 oledb32.dll

这下应用程序连接数据库就成功。

我怀疑这个问题的根本原因还是在于sqloledb.dll, oledb32.dll 这两个dll没有注册导致的。

3. 对于64位数据库需要配置32位客户端的PATH环境变量:

System.Data.OracleClient所指向的是PATH环境变量下的oci.dll。因此,我们只要让程序能够找到64位的oci.dll就可以了。方法如下:

1. 下载instantclient-basic-win-x86-64-11.1.0.7.0.zip,并解压,如C:\instantclient-basic-win-x86-64-11.1\instantclient_11_1(这个部分也是必须的,根据实际情况的不同进行修改)。

2. 在系统的环境变量PATH中加入以上路径。

之后重启操作系统(这个是必须的,我弄了一下午没有搞好,结果重启一下马上就好了),程序会依照PATH路径寻找oci.dll,如果遇到32位的oci.dll会自动略过,找到64位的oci.dll就能连接上数据库了。

4.

IIS服务器报错:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。

出错的原因:

1.虽然报的是需要安装客户端8.1.7及以上版本,实际是.net账户没有访问Oracle\bin文件夹的权限

2.在 Windows Server 2003/2008 的 NTFS系统中提供了高级的访问安全性,FAT32系统也许没有这个问题。

解决办法如下:

我用Windows Server 2008 为例 Windows Server 2003 是一样的

1.打开安装有Oracle客户端的电脑,在安装目录 C:\oracle\ora90\BIN 文件夹上右键-》安全选项卡-》点击  编辑---》添加。

2.点击“查找范围”,在下面显示的账户中选择“NTWORK SERVICE”  ----将“读取和执行”的权限都赋给他(如果不行就把完全控制给他,这样不安全),子文件夹继承此权限,确定。

3.打开“服务器管理器”-》配置-》 本地用户和组-》组-》adminisgrators-》将Network Service 添加进来

4.重新启动IIS,在“运行”中输入“IISRESET”。

还有一种情况就是:

IIS设置为64位模式下运行,改为32位模式这个问题就解决了

应用程序池 -> 高级设置 ->启用32位应用程序  = TRUE

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值