views:

3294

answers:

3

I am receiving an error from the Oracle JDBC driver (ojdbc14_g.jar) when trying to obtain a connection to a 10g database. The driver has an oracle.jdbc.driver.OracleLog class which could help but the Oracle documentation is unclear how best to use it. Has anyone had any success using this class? If so, some guidance on its use would be appreciated.

A: 

For info, the error I'm getting from the JDBC driver is:

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)
Matthew Murdoch
+1  A: 

Google just found this for me.

Also, try using java.sql.DriverManager.setLog(Stream|Writer) and see if that gets you any more information about what is going on.

laz
I'm using a DataSource (rather than the DriverManager). The equivalent functionality on that class does not seem to be supported by Oracle...
Matthew Murdoch
+1  A: 

The logging is usually too low to be interpreted by anyone except Oracle support.

Anyway, the above code indicates there is some network connectivity issue between the client and the server (more data was expected to be read from the TCP socket but it somehow got interrupted). What kind of a network are you using? You checked the status and error logs on the server listener?

Andrew from NZSG