1. 程式人生 > >ojdbc14版本過低導致資料庫連線失敗 Connection reset

ojdbc14版本過低導致資料庫連線失敗 Connection reset

java.sql.SQLException: Io 異常: Connection reset
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:333)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at jdbc.ConnectTest.getDate(ConnectTest.java:24)
at jdbc.ConnectTest.main(ConnectTest.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)

at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

11G的        String url = "jdbc.url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.9.*)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.9.*)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))";
 10G的      String url = "jdbc:oracle:thin:@192.168.9.*:1521:orcl";

資料庫從10G升級到11G,資料庫就連線不上了。先前以為是rac的寫法上的不同原因,但是一直沒有解決,最後硬著頭皮看jar包程式碼,最後發現問題在jar包裡面。再看看jar包裡面MANIFEST.MF,裡面顯示的Specification-Version: "Oracle JDBC Driver version - 9.0.2.0.0",於是下載個搞版本的ojdbc14 ,MANIFEST.MF檔案顯示的Specification-Version:  Oracle JDBC Driver version - "10.2.0.5.0"。連線成功。