程序连接Oracle数据库出现未找到提供程序.该程序可能未正确安装错误提示
2015-03-24 11:38
399 查看
好不容易使用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
其实解决这个问题也简单:
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
相关文章推荐
- Windows IIS 调试ASP 错误号:3706 提示 “未找到提供程序 该程序可能未正确安装”解决办法
- Windows server 2008 IIS 调试ASP 错误号:3706 提示 “未找到提供程序 该程序可能未正确安装”解决办法 .
- aspcms网站访问出现3706错误, 错误描述:未找到提供程序。该程序可能未正确安装,解决的方法。
- win2003+asp+oracle出现“未找到提供程序.该程序可能未正确安装”错误
- 使用ADO连接oracle数据库“未找到提供程序。该程序可能未正确安装”解决方案
- WN7 上IIS7运行asp+access网站出现错误: ADODB.Connection 错误 '800a0e7a'未找到提供程序。该程序可能未正确安装
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL
- 错误“未找到提供程序.该程序可能未正确安装”的原因
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL
- windows下打开软件提示 未找到提供程序 该程序可能未正确安装
- 关于使用ADODB.Connection (0x800A0E7A) 未找到提供程序。该程序可能未正确安装 错误的解决办法
- ADODB.Connection 错误 '800a0e7a' 未找到提供程序 该程序可能未正确安装
- 【有关数据库的问题】运行时错误‘3706’:未找到提供程序。该程序可能未正确安装。
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL
- 【有关数据库的问题】运行时错误‘3706’:未找到提供程序。该程序可能未正确安装。
- ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。解决方法!
- ASP调试程序问题解决:ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装
- ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL
- IIS未找到提供程序该程序可能未正确安装错误解决办法