2

尝试获取与 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)
4

2 回答 2

1

谷歌刚刚为我找到了这个

另外,请尝试使用 java.sql.DriverManager.setLog(Stream|Writer) 并查看是否可以为您提供有关正在发生的事情的更多信息。

于 2008-10-08T20:58:25.930 回答
1

日志记录通常太低,除了 Oracle 支持之外的任何人都无法解释。

无论如何,上面的代码表明客户端和服务器之间存在一些网络连接问题(预计会从 TCP 套接字读取更多数据,但不知何故被中断了)。你使用什么样的网络?您检查了服务器侦听器上的状态和错误日志?

于 2008-10-08T23:52:31.757 回答