有个问题向大家咨询一下,oracle客户端可以连接到数据库上,但是java程序确连接不上,连接串的地址,端口号,实例名都是正确,报Connection refusedException in thread "main" java.sql.SQLException: Io 异常: Connection refused10.72.7.109:1521:orcl at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:439)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.hongjiang.OracleConnection.main(OracleConnection.java:21)请问这个是什么原因呢 

解决方案 »

  1.   

    public static void main(String args[]) throws SQLException
    {
    //  Load the Oracle JDBC driver
    DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    String url = "jdbc:oracle:thin:@10.72.7.109:1521:orcl";
    String userName = "test";
    String password = "test";
    System.out.println(url);
    System.out.println(userName);
    System.out.println(password);
    Connection conn = DriverManager.getConnection(url, userName, password); //  Create a Statement
    Statement stmt = conn.createStatement(); //  Select the ENAME column from the EMP table
    ResultSet rset = stmt.executeQuery("select * from user_tables"); //  Iterate through the result and print the employee names
    while (rset.next())
    System.out.println(rset.getString(1));
    }
      

  2.   

    oracle listener里面配的监听地址是什么?
      

  3.   

    代码上没问题
    这个就要看ip、端口、用户名密码是否正确你用try{}catch抛出具体异常看看
      

  4.   

    Connection refused
    连接被拒绝 看数据库服务器防火墙开着没 或者你是否有访问该网段的权限
      

  5.   

    用telnet 10.72.7.109 1521网络是通的,pl/sql developer也可以连接上。
    抛出的异常
    java.sql.SQLException: Io 异常: Connection refused10.72.7.109:1521:orcl at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:439)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
      

  6.   

    缺少驱动吧~~
    jar有没有导入~~
      

  7.   

    T4CConnection
    在异常中看到了这东西,你确定你的jar包与你连接的url是对应的?
      

  8.   

    很纳闷啊,我把程序部署到服务器上,数据库和应用程序在同一个台机器上面,启动程序就可以连接上数据库啊;难道是做什么限制了吗?oracle客户端远程可以连接上,其他程序不可以,有这样的限制吗