未找到oracle客户端组件

安装这些之前,将无法使用此提供程序。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 未找到 Oracle 客户网络这些 Oracle 公司提供的, Oracle 8i (或更高) 客户软件安装一部分

安装这些之前,将无法使用此提供程序。

 

源错误:


行 28:        strConnection = "Provider=MSDAORA.1;Data Source=orcl;User ID=mcc2;Password=mcc;";
行 29:        OleDbConnection conn = new OleDbConnection(strConnection);
行 30:        conn.Open();
行 31:
行 32:        string a = "select * from mcc_track where UTC>1192791444 and UTC <1192794723";


源文件: c:\Inetpub\wwwroot\wang\WebSiteUTC\Default.aspx.cs    行: 30


    protected void btnSearch_Click(object sender, EventArgs e)
    {
        string strConnection ;
     
        strConnection = "Provider=MSDAORA.1;Data Source=orcl;User ID=mcc2;Password=mcc;";
        OleDbConnection conn = new OleDbConnection(strConnection);
        conn.Open();/?????????????????????????????

        string a = "select * from mcc_track where UTC>1192791444 and UTC <1192794723";
        OleDbCommand cmd=new OleDbCommand(a,conn);
        cmd.CommandType=CommandType.Text;
        cmd.ExecuteNonQuery();

       
    } 

 

最近做ASP.NET的项目,使用的数据库Oracle9i。连接数据库发生了错误,显示的信息如下:

System.Data.OracleClient  需要  Oracle  客户软件  8.1.7  或更高版本。 


说明:  执行当前  Web  请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。  异常详细信息:  System.Exception:  System.Data.OracleClient  需要  Oracle  客户软件  8.1.7  或更高版本。

真奇怪,明明已经高于8.1.7版本了?怎么还不行。上网查才知道原因,唉!现在的NTFS分区真的害死人啊。原来又NTFS分区搞的鬼。正如同连接SQL  Server数据库一样,用户权限很重要,如果没有授权无法正常操作的。Oracle  9i  Release  2  客户安装到Windows的NTFS分区下时的安全认证设置不正确,引起本机的Authenticated  Users用户无法看到ORACLE_HOME目录下的内容;  这导致在ASP.NET以Authenticated  Users权限使用System.Data.OracleClient连接Oracle数据库时报出以上错误。


要解决以上问题,只要给Authenticated  Users  加上访问Oracle  Home目录的权限即可1、以Administrator权限登录Windows  2、启动Window  资源浏览器找到ORACLE_HOME目录,如C:\Oracle\ora92  3、右键弹出菜单,选择该目录共享与安全(Win2000下要点击属性)  4、点击  “安全”  页签  5、在和用户名称列表中点击“Authenticated  Users”  项.  6、在该用户的权限列表中,将“读取和运行”的选择框置为不选中状态  7、再次点击“读取和运行”的选择框,将其设置为选中状态  8、点击“高级”按钮并在权限项目中确定“Authenticated  Users”  是否拥有“读取并运行”权限并应用于“该文件夹,及子文件夹和文件”.  如果不是,双击这样,并确保权限可以“应用于”  “该文件夹,及子文件夹和文件”.  该项非常重要你一定要核查.  9、点击“确定”  按钮  10、重启动,  以使得所有的修改生效.

=============================================================================
注意,权限设置好后,不用机器重启的,直接IIS重启下就行了,方法,开始-运行-CMD-IISRESET


另外注意,权限设置要应用到所有子目录 

请使用浏览器的分享功能分享到微信等