我的问题是我尝试连接到远程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,但它是同样的错误。 我已经在互联网上搜索但我无法弄清楚问题。请问任何想法?
答案 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)
我已经解决了我的问题。所以我没有连接到正确的数据库。现在连接通过了!谢谢! : - )