尝试连接Oracle数据库时的java.sql.SQLException

时间:2014-12-03 09:30:24

标签: java jdbc oracle9i ojdbc

我的问题是我尝试连接到远程Oracle数据库。它的版本是9.2.0.6,我使用的是jdk 1.7和ojdbc14.jar。

这是代码:

Connection connection = null;

    try {

        connection = DriverManager.getConnection("jdbc:oracle:thin:@//10.130.34.3:1522/myDB", "binette","Passer");

    } catch (SQLException e) {

        System.out.println("Connection Failed! Check output console");
        e.printStackTrace();
        return;

    }

我收到了这个错误:

Connection Failed! Check output console
java.sql.SQLException: Exception d'E/S: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093632)(ERR=12514)(ERROR_STACK=(ERROR=(CODE=12514)(EMFI=4))))
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
    at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3668)
    at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:353)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:371)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:551)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:351)
    at java.sql.DriverManager.getConnection(DriverManager.java:571)

我试图将jdbc jar传递给classes12.jar,但它是同样的错误。 我已经在互联网上搜索但我无法弄清楚问题。请问任何想法?

4 个答案:

答案 0 :(得分:1)

看起来像ORA-12514: TNS:listener does not currently know of service requested in connect descriptor(根据错误代码)。 那么您的服务名称可能不是 myDB

答案 1 :(得分:0)

根据您的数据库配置,您应该尝试

connection = DriverManager.getConnection("jdbc:oracle:thin:@//10.130.34.3:1522:myDB", "binette","Passer");

而不是

connection = DriverManager.getConnection("jdbc:oracle:thin:@//10.130.34.3:1522/myDB", "binette","Passer");

答案 2 :(得分:0)

我认为这是一个防火墙问题。尝试在防火墙中打开 1522 端口,然后检查。

答案 3 :(得分:0)

我已经解决了我的问题。所以我没有连接到正确的数据库。现在连接通过了!谢谢! : - )