在安装这些组件之前,将无法使用此提供程序。
说明: 执行当前 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
另外注意,权限设置要应用到所有子目录