做dblink连接时,using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS =(PROTOCOL = TCP)(HOST = 11.39.22.66)(PORT = 9900)))(CONNECT_DATA =(SERVICE_NAME = orcl)))'
using里的连接字符串,是直接复制tnsnames.ora里的,plsql能访问到,可dblink显示“tns连接超时”

解决方案 »

  1.   

    dblink要看服务器上的,不是本机的
      

  2.   

    using 后面也可以用 服务名
      

  3.   

    using 后面直接写'11.39.22.66@orcl'试下
      

  4.   

    用DB_LINK的服务器先ping 再telnet 如果都没有问题,再看servername,是单机还是集群。
      

  5.   

    1、conn user/[email protected]:9900/orcl 看是否能连通
    2、确认两个服务器之间没有防火墙等网络上的限制
      

  6.   

    private static final String DRIVER="oracle.jdbc.driver.OracleDriver";
    private static final String URL="jdbc:oracle:thin:@localhost:1521:xe";
    private static final String USERNAME="system";
    private static final String PASSWORD="sun";

    public static Connection getConnection(){
    Connection conn=null;
    try {
    Class.forName(DRIVER);
    conn=DriverManager.getConnection(URL,USERNAME,PASSWORD);
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return conn;
    }