Link to home
Start Free TrialLog in
Avatar of passionlessDrone
passionlessDrone

asked on

Oracle Connectivity Madness

Hello friends -

Tomcat 5 / Hibernate 3.1 / c3p0 .9 application that includes a  process that has been working for about a year now that started failing (as far as I know), Friday.  Essentially JDBC connections to the database won't initialize, instead I get the "No More Data To Read From Socket' message.  Here's a snipet from the log files:

***************************************************************************
java.sql.SQLException: No more data to read from socket
      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
      at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:982)
      at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:746)
      at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:705)
      at oracle.jdbc.ttc7.TTIdty.receive(TTIdty.java:257)
      at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:241)
      at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:361)
      at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:485)
      at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:337)
      at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
      at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
      at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
      at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
      at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
      at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
      at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
      at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

****************************************************************************

I'm pretty sure that this doesn't have to do with my c3p0 configuration; I get the same bubble up error ("no more data to read from socket") if I comment out all c3p0 components from my .cfg.xml file (slightly different trace underneath as it just tries to use Hibernate's default connection pooling component).   I also get the error at direct jdbc connection time.  

The database group insists that nothing has changed on their end.  The network group insists that nothing has changed on their end.  I am struggling.  Can anyone provide any assistance?  It has occurred to me that policy level changes / overly aggressive anti virus routines could be involved, but I don't have any thoughts on how to discern if that is the case.  

Any insight is very much appreciated.

brian



Avatar of CEHJ
CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

Could be just arbitrary and temporary network problems
Does it happen all the time or intermittently?

Did you change any things recently in your configuration (not quite ckear from your mention)?

That's waht they write (you probably saw this):
This error most likely occurs in applications that use a database connections pool. When the application checked out a connection that has been timed out or has been staled, and used it to connect to the database, this error occurs.
in
http://www.websina.com/bugzero/errors/oracle-SQLException.html

Whenever I experienced such diagnostic it was always either on the datadbase or on network level.
But it was usually intermittent (unless they have a total failure, and the error eventually became more explicit,
like Oracle not available). But I'm not using connection pools.
ASKER CERTIFIED SOLUTION
Avatar of passionlessDrone
passionlessDrone

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Yes, when they update Oracle to a newer version some of my programs stop working and I need
to change the driver. The good thing is that with Oracle they are backward compatible 100%
so the new drivers work with my code and also work with old databases if necessary without any problems.
Avatar of passionlessDrone
passionlessDrone

ASKER

Figured it out.  Thanks for the help.