Problems with ORA-03114 / Internal Pooling

rpynor

Member²
Hi there,

We are experiencing a strange problem, and i am not sure if it is because of the way we are using DOA.

Basically, we have an COM application, using DOA 3.4.6.4, against an oracle 9i database. This com application is called every few seconds from an NT Service application.

Our application basically flows as follows:

1. Create a TOracleSession
- Set up the logon username etc
- set pooling = spInternal
- CheckConnection(true)
- write out the result of the checkconnection
- Session.Logon

2. execute a stored proc (created from the package wizard)

if i call this method a few times, it works fine; then if i remove the network cable to simulate a loss of connection, i start getting ORA-03114. When i restore the connection i would expect the connection to be restored by the checkconnection(true). I find that the CheckConnection returns 'Reestablished', that Session.Connected is true, but that the next time i try to execute anything on the session, i get the same ORA-03114 error.

Any ideas out there?

Thanks,

Rohan
 
This is indeed a problem in 3.4. In 4.0 the session pool will discard dead connections from the pool. I can't immediately think of a workaround in 3.4.
 
Back
Top