http://search.csdn.net/Expert/topic/1982/1982156.xml?temp=.5562097大家先看看上面的链接。报错信息如下:
ORA-00162: external dbid length 18 is greater than maximum (16) 检查是连接字符串中的
data source=abcde01_192.168.1.177
后面那个超过了16位所以就报错。
ORACLE和SQL SERVER很不一样的地方就是,SQL SERVER中data source=服务名就可以了
ORACLE中data source=服务名_IP还要加上IP才能正常访问。经过多次实验只要把
客户端安装文件下  network\admin\tnsnames.ora
文件的内容
加一个abcde01=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ****)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = abcde01)
    )
  )连接字符串里面就可以不用写
data source=服务名_IP
直接写
data source=服务名(如abcde01)
我想知道:
 1.有没有什么方法可以突破那个连接字符串data source=后面最多只能跟16个字符的限制。
 2.如果去修改每个客户端的tnsnames.ora文件才能正常访问的话,BS系统还好,只要改一个就行,
   如果是CS系统有几百个客户端岂不是每个客户端都要去修改?

解决方案 »

  1.   

    可能是你版本太低了。OracleClient应该用在817以上版本的。不过也听说有的朋友的oracle817也不能用。建议9i以上用OracleClient
      

  2.   

    8.17还是9i都遇到过这个问题。
    不知道是不是。NET提供的OCI。DLL那个文件有BUG,
    还是ORACLE有问题。
      

  3.   

    ORACLE中data source=服务名_IP还要加上IP才能正常访问。
    不会啊,没说固定要IP啊,我使用的Oracle 9i使用Net Manager配置网络服务,不需要Ip啊。
    这个我使用的连接字符串:
    connectionString = "user id=xxx;data source=Ja_test;password=xxx";
      

  4.   

    回复人: fangxinggood(JustACoder) ( ) 信誉:100  2005-02-03 21:15:00  得分: 0  
     
     
       ORACLE中data source=服务名_IP还要加上IP才能正常访问。
    不会啊,没说固定要IP啊,我使用的Oracle 9i使用Net Manager配置网络服务,不需要Ip啊。
    这个我使用的连接字符串:
    connectionString = "user id=xxx;data source=Ja_test;password=xxx";
      
     
    这位兄弟讲讲怎么配置
      

  5.   

    Oracle-OraHome92 -> Configuration and Migration Tools -> Net ManagerOracle Net +
               |
               Local +
                     |
                     ServiceNaming + 添加一个ServiceNaming.这个服务名不需要加ip,是连接字符串中的datasource.第一步,添加本地的Net Service名;
    第二步,选择网络协议(默认TCP/IP);
    第三步,添加Host名,可以是服务器主机名,也可以是IP地址。(端口默认 1521);
    第四步,添加服务器中的Service名。
    测试连接的时候,默认是用Scott/tiger的,需要自己改一下。
      

  6.   

    是你的连接字符串问题,你试试:
    <add key="oracleConnection1.ConnectionString" value="user id=vv;data source=aa;password=dd"/>
      

  7.   

    fangxinggood(JustACoder) 那你们是不是每台装有ORACLE客户端的程序都要这样配置一下了?
      

  8.   

    链接字串有问题,不用IP地址的,修改一下吧。
    最好不要直接修改network\admin\tnsnames.ora的内容,直接用Oracle提供的Net Manager工具就可以设置好到服务器的连接了。
    然后链接字串中的Data Source=用Net Manager建立的连接的名字,不用加IP地址的,如果原来是加IP地址的话,估计是当初安装Oracle的时候,系统自动建立的连接的名字,你可以修改的啊。
    如果是B/S程序,只需要在服务器上修改这个配置就行了,如果是C/S的程序,要在每个客户端去修改。