Re: ADO.Net Connection Pooling Problem with Oracle



I think I've solved the problem (at least one problem). I have a COM+
component that I use for database updates. This component's Transaction
Attribute is set to TransactionOption.Required. I have other COM+
components for my data layer that perform queries and updates. At least
one of these components has its Transaction Attribute set to
TransactionOption.Required. Since I didn't associate transactions with
queries, some of the exposed methods on these components are not
calling ContextUtil.SetComplete or ContextUtil.SetAbort (I know, stupid
mistake. I always called SetComplete or SetAbort with VB6 and MTS). If
I do not call SetComplete or SetAbort within a particular method, it
will create a new database connection for every new COM+ transaction.
For example, I have component (class library) A which has an Execute
method that calls the OracleCommand.Execute method to run a stored
procedure. Component B has a Validate method which in turn calls
component A's Execute method. Both components have a Transaction
Attribute of TransactionOption.Required. Everytime I call Component B
from an ASP.Net page, it will create a new database connection because,
I guess, it was not a valid pooled connection because of the open COM+
transaction.

.



Relevant Pages

  • Re: Help - Timing Logic
    ... server application, both of which ran on the same box. ... the client applications and 'lodging' them in the database. ... Another part of the server application was dedicated to retrieving messages ... commit transaction ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Help - Timing Logic
    ... put a trigger on the database table. ... Transaction and Database Locking - look at isolation levels / settings ... Maybe implement a message broker ... ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Help - Timing Logic
    ... build a trigger on the database .. ... Transaction and Database Locking - look at isolation levels / settings ... If you need to implement a locking mechanism / or / logging mechanism / or / a checking mechanism to avoid duplicate messages caused by multi-threading ... ... message broker gets all the necessary messages or message id's from the database to be sent ... ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Help - Timing Logic
    ... put a trigger on the database table. ... Transaction and Database Locking - look at isolation levels / settings ... Maybe implement a message broker ... ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Help - Timing Logic
    ... If you need to implement a locking mechanism / or / logging mechanism / or / a checking mechanism to avoid duplicate messages caused by multi-threading ... ... Is it the READ from the database ... ... Perhaps a stored proc may be faster to execute and return the values as opposed to building the transaction in the code. ... implement as above locking only the records you retrieve / update - need to watch out here for table locking ... ...
    (microsoft.public.dotnet.languages.vb)