我如何使用oracle.jdbc.driver.OracleLog?

时间:2008-10-08 10:39:58

标签: java oracle logging jdbc oracle10g

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

2 个答案:

答案 0 :(得分:1)

Google刚为我找到this

另外,尝试使用java.sql.DriverManager.setLog(Stream | Writer),看看是否能获得有关正在发生的事情的更多信息。

答案 1 :(得分:1)

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

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