I have a web application hosted on IIS 7 using Oracle.DataAcess.dll for .NET to perform connections and queries to an Oracle database. Last week, we unexpectedly encountered numerous errors caused by this component, and said: "Connection timed out."
After several hours of debugging, I saw that the error actually says that the connection request has expired and gives an error with code number: -1000 (Of oracle.DataAccess, no ORA error was selected). From the Oracle database, I saw that there was only one connection for this machine, and it was in the “INACTIVE” state. Although there was only one connection, when debugging, it really was when trying to open the connection.
We do not use the connection pool strategy, but, as I saw in debug mode, there is a default connection pool (even if you do not specify a value) saying that the maximum connections are 100, the timeout is 15 seconds, and that the lifetime is 0 This means that the application on this machine can handle 100 connections.
Having said that, I can’t understand why I get “Connection timeout”. an error with error code = -1000, when my application can create up to 100 connections (in accordance with the connection pool settings by default), but my database shows only a few connections (occurred when my application had one connection, as well as 5 connections - out of 100).
I note that I was able to solve this problem specifically after recycling my application, but this has already happened more than once, so this is not a solution for this ...
- ?
, ?
* :
, , "PopulatePool" Oracle.DataAccess , WaitForRegularConnection...