Windows XP上的Oracle Type Initializer异常

时间:2012-09-13 06:12:53

标签: c# .net oracle

我编写了Oracle Database Version 10的Oracle数据库连接

它适用于我的开发PC(Windows Vista)。

当我在Windows XP PC上运行此程序时,Oracle DB连接在连接到服务器时抛出异常

“错误:'Oracle.DataAccess.Client.OracleConnection'的类型初始值设定项引发异常”

连接的代码如下:

try{ 
 string oradb = "Data Source="
               +"(DESCRIPTION ="
               +" (ADDRESS = (PROTOCOL = TCP)(HOST = " + IP + ")(PORT = 1521))"
               +" (CONNECT_DATA ="
               +" (SERVER = DEDICATED)"
               +" (SERVICE_NAME = XE)"
               +" )"
               + " );User id=XXXX;Password=XXXX;";

            OracleConnection conn = new OracleConnection(oradb);

             .....
             .....


}
catch (Exception ex)
{
        MessageBox.Show("Error:" + ex.Message);
}

1 个答案:

答案 0 :(得分:0)

XP盒子上的哪个版本的客户端软件?

检查我的计算机配置我只在Oracle 10g安装上看到ODP.Net 1.x(对我来说它是C:\ oracle \ product \ 10.2.0 \ db_home \ ODP.NET \ bin \ 1.x),这是.Net 1.0安装,不适用于.net 2.0 - 4.0。这可能是你麻烦的根源。

Oracle 10.2 ODP.Net驱动程序也非常不稳定(甚至是.Net 2.0版本)。如果您使用的是.Net 1.0或1.1,则可能必须使用ODPReg.exe(相同目录)重新注册Oracle.DataAccess.dll,如果您使用的是2.0,则可能必须安装.net 2.0(最多3.5个)Oracle客户端或.Net 4.0(或4.5)Oracle客户端。

我建议您安装一个11.2客户端,并检查Oracle.DataAccess.dll是否正确注册(有两个安装:一个用于.Net 2.0-3.5,一个用于.Net 4.0,在我的盒子C:\ oracle上\ product \ 11.2.0 \ client_ODTwithODAC112030 \ odp.net \ bin \ 2.x和C:\ oracle \ product \ 11.2.0 \ client_ODTwithODAC112030 \ odp.net \ bin \ 4)。   您可能需要使用OraProvCfg.exe强制注册

您也可以尝试使用Xcopy驱动程序安装,如果您想使用软件分发驱动程序,请务必仔细阅读文档,这很奇怪且容易出错(例如ODAC112030Xcopy_x64.zip)。

ODAC在这里:http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html

相关问题