日期:2014-05-19  浏览次数:20464 次

创建WEB服务遭遇难题
System.InvalidOperationException:   未在本地计算机上注册“OraOLEDB.Oracle”提供程序。   --->   System.Data.OleDb.OleDbException:   没有可用的错误信息:   REGDB_E_CLASSNOTREG(0x80040154)。
      ---   ---   ---
      at   System.Data.OleDb.OleDbConnection.CreateProviderError(Int32   hr)
      at   System.Data.OleDb.OleDbConnection.CreateProvider(OleDbConnectionString   constr)
      at   System.Data.OleDb.OleDbConnection.Open()
      at   PDA_Service.GetData.UserLogin(String   user_id,   String   password)   in   d:\pda\pda_service\getdata.asmx.cs:line   215

目前服务器环境为:ORACLE92+WINDOWS2003+IIS,
.NET版本为   1.1.4322.573。
          经测试,是程序调用ORACLE的OLEDB出错。基本可以确定以下几点:
1。WEBSERVICE程序运行无误,调用的组件版本与.NET环境无冲突。
2。ORACLE客户端安装正确,并且包含了OLEDB组件。接口服务器修改了ORACLE_HOME环境变量并不影响使用。
3。ORACLE_HOME目录,E:\Oracle\Ora92,   对Authenticated   Users、ASP.NET,   IWAM_   and   IUSR_   帐户,都赋予允许读、执行权限,并在“高级”中保证该目录的子目录、文件都继承这些属性。

------解决方案--------------------
用System.Data.OracleClient,不要用OleDB
------解决方案--------------------
把在ASP.net里引用Oracle的那个DLL文件拷到web\Bin下。试试。
------解决方案--------------------
安装oracl客户端

------解决方案--------------------
顶!
------解决方案--------------------
你添加System.Data.OracleClient.dll的引用了吗?
------解决方案--------------------
加入ASP。NET C#群吧,群号是: 1873156
------解决方案--------------------
恭喜