尝试获取与10g数据库的连接时,我收到来自Oracle JDBC驱动程序(ojdbc14_g.jar)的错误。驱动程序有一个oracle.jdbc.driver.OracleLog类可能会有所帮助,但Oracle文档不清楚如何最好地使用它。有没有人使用这个课程有什么成功?如果是这样,将会对其使用的一些指导表示赞赏。
有关信息,我从JDBC驱动程序获得的错误是:
java.sql.SQLException: No more data to read from socket
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:208)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1
(T4CMAREngine.java:1118)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1
(T4CMAREngine.java:1070)
at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey
(T4CTTIoauthenticate.java:266)
at oracle.jdbc.driver.T4CConnection.logon
(T4CConnection.java:357)
at oracle.jdbc.driver.PhysicalConnection.<init>
(PhysicalConnection.java:414)
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 oracle.jdbc.pool.OracleDataSource.getPhysicalConnection
(OracleDataSource.java:297)
at oracle.jdbc.pool.OracleDataSource.getConnection
(OracleDataSource.java:221)
at oracle.jdbc.pool.OracleDataSource.getConnection
(OracleDataSource.java:165)
答案 0 :(得分:1)
Google刚为我找到this。
另外,尝试使用java.sql.DriverManager.setLog(Stream | Writer),看看是否能获得有关正在发生的事情的更多信息。
答案 1 :(得分:1)
日志记录通常太低,除了Oracle支持之外,任何人都无法解释。
无论如何,上面的代码表明客户端和服务器之间存在一些网络连接问题(预计会有更多数据从TCP套接字中读取,但它会以某种方式被中断)。你使用什么样的网络?您检查了服务器侦听器上的状态和错误日志?