手头有个项目,需要连接Oracle,通过如下方式访问Oracle
string myConnString6 ="SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.100.242)(PORT=1521)) \t(CONNECT_DATA=(SERVICE_NAME=xxzx)));user id=xxzx;password=xxzx";
OracleConnection myConnection6 = new OracleConnection(myConnString6);
myConnection6.Open();
在XP下连接都是正常的,但是在Win7平台下,有些电脑也可以,有些电脑就是连不上,提示错误信息:
ORA-00162 external dbid length 106 is greate than maximum
从网上查询 oracle 系统错误中文对照,得知00162错误信息如下
ORA-00162: 外部dbid 的长度超出了最大值
网上查的解决方案,基本上都是说可能本地计算机名称太长了,数据源名称太长之类的,可事实上我的数据源名称不长。
而客户端Win7版本都是一样的,都是32位,专业版,Oracle版本也是一样的。
后来经过咨询,能正常连接的客户端基本上都装有Framework Service Pack ,于是下载了Microsoft .NET Framework 1.1 Service Pack 1
安装完补丁后问题就解决了,看来System.Data.OracleClinet.dll存在Bug。