如题:TNSPING能通,为什么dblink不能通?tnsping平的远程数据库和dblink配置的远程数据库完全一样,谢谢高手指点了!!!

解决方案 »

  1.   

    每次的提示都是ora-12541,没有监听
      

  2.   

    DEMOtdb =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.2.73)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = hmisb)
        )
      )
    tnsping demotdb 正常create database link TDB_PJ_ND_OP_MANAGER.US.ORACLE.COM
      connect to NDPJ identified by NDPJ
      using '(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.2.73)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = hmisb)
        )
      )';
      

  3.   

     CREATE DATABASE LINK link_name(任意启名)
    CONNECT TO username (用户名)
    IDENTIFIED BY password (密码)
    USING sql_string; (在TNS里设置好的名称如 ...USING 'oracle_db2' ) 
    有加单引号吗?
      

  4.   

    直接用名称using 'DEMOtdb'不行才换成连接串的CONNECT   TO   username   (用户名) 
    IDENTIFIED   BY   password   (密码)
    这两项是通过PLsql界面设置的
      

  5.   

    最好配置TNS,在DB SERVER上,然后,
    create   database   link   TDB_PJ_ND_OP_MANAGER
        connect   to   NDPJ   identified   by   NDPJ
        using 'demotdb'
      

  6.   

    又用using   'demotdb'试了一次,还是不行,demotdb是在db server上,不过我是在一台客户端执行的,不过以前可以的
      

  7.   

    tnsping 是在DB SERVER做的吗?
    DB SERVER上用sqlplus 连接DEMOTDB 看看.
      

  8.   

    首先,我先谢谢你(Petergepeter ),呵呵!我把具体情况和你说一下,看看能否解决
    我想每天都要向远程数据库传输数据,具体的是通过DBLINK建立远程数据表的同义词,连接远程数据库是通过拨号连接的,现在可以通过在服务器端拨号并能顺利传输,我想把传输放在客户端,因为服务器在机房,放在服务器传输比较麻烦,每次都要通过服务器拨号,我想以客户端为桥梁通过客户端拨号把数据传输到远程数据库。不知道我说的详细不详细
      

  9.   

    你怎么知道远程不通?
    select sysdate from dual@link_name;
    啥结果?
      

  10.   

    楼主,你是不是放到客户端后,服务器端就不拨号了? 呵呵. 如果那样的话,还有意义吗?DBLINK要求服务器可以通过TNS连接远程数据库. 不管你在服务器或客户端发出SQL命令都要求如此.AFIC的测试语句告诉你通还是不通. TNSPING的结果有时候带有一定的误导.
      

  11.   

     TNSPING能PING通,只能证明网络没有问题,可能是你的连接串里面的实例名配置不正确!