今日無意中用java連接oracle時,竟出現以下異常,甚是奇怪:
Caused by: java.sql.SQLException: Io 異常: Got minus one from a read call
?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 org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
?at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
?at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877)
?at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
.....
經檢查,原來是連接端口配置錯誤,奇怪的是為什么不是 Io 異常: The Network Adapter could not establish the connection呢,用端口1433會出現該現象。
并且有:ava.sql.SQLException: Listener refused the connection with the following error:
ORA-12518, TNS:listener could not hand off client connection這個問題。
麻煩問您以下。該如何解決?
我在linux下直接用jdbc連接oracle的
后來問題解決了
原因是,網管在oracle的配置上限制了那臺linux訪問該oracle