1、2000Adv Server,先装了10G的Client,用Orcale in OraClient10g_home1做了一个DSN,工作正常
   TNS Service Name为远程地址,ORCL_192.168.5.5
   (目的是:用SQL的DTS导入导出工具调用这个DSN,将Orcal数据引入到SQL中,SQL自动调度)2、昨天安装了10G数据库后,用DTS再做个包,发现无法连接数据库。打开ODBC的DSN测试,发现:
   不管用Orcale in OraClient10g_home1还是用Orcal in OraDb10g_home1做驱动,测试连接时,
   TNS Service Name为远程地址,如:ORCL_192.168.5.5 出现如下提示信息:
       Unable to connect
      SQL State=S1000
      [Orcale][ODBC][Ora]ORA-12560: TNS: 协议适配器错误
   而TNS Service Name使用本地地址时,如:ORCL_192.168.5.1或直接写本地实例名ORCL时,均测试通过,正常
   推测是某个参数的问题,请达人指导小弟一下。3、虽然ODBC DSN连接不通,但之前用1做的调度包运行正常,就是想新建包连接不上了,建不了新包。敬请指导,谢谢!

解决方案 »

  1.   

    tnsping一下监听是否正常工作。
      

  2.   

    我试了一下,本地实例名叫 orcl,本地IP是192.168.5.1tnsping orcl   
      结果:已使用TNSNAME适配器解析别名…………OK(50毫秒)tnsping orcl_192.168.5.1
      结果:已使用EZCONNECT适配器解析别名…………TNS-12560: TNS: 协议适配器错误 
            其中,HOST解析后=60.191.124.236,不知所云tnsping orcl_192.168.5.5 (远程地址)
      结果与上面一样,HOST=60.191.124.236看来可以通过更改
    TNSNAME解析和EZCONNECT适配器解析的参数来解决问题?
    怎么改,哪里改。
      

  3.   

    192.168.5.1 和192.168.5.5 两台机器的实例名sid都是orcl
      

  4.   

    谢谢1楼掌柜,
    改了一下tnsnames.ora,加了一段:ORCL_192.168.5.5 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = xserver3.domain.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )现在正常了。
    菜鸟又学到了一点知识。