Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: MTS/MSDTC ORACLE problem
In article <7jo4h0$h1m$1_at_plutonium.btinternet.com>,
"News" <andrew.gayter_at_btinternet.com> wrote:
<<snip>>
Slow MTS/Oracle transactions. . .
For this reason, connection pooling was invented... But you need to program it correctly otherwise connections will *not* be pooled. In your program create a connection object, open it, use it, and *CLOSE* it before setting it to Nothing. If you forget to close the connection it will not be pooled. If you use implicit connections, they will not be pooled.
Also, switch to the Microsoft OLEDB provider for Oracle (in stead of the Microsoft or Oracle ODBC driver for Oracle). This saves overhead, and the OLEDB provider also supports XA and connection pooling (the pooling is done by ADO). However check the docu if you use stored procedures that return result sets.
We now have connection pooling enabled and the selects (after the first one which connects) are now quite fast. Still the modify instructions (INSERT etc) are slow. It seems that MTS needs quite some time to start a transaction. The SELECTS are not in a transation when called from a base client. The modify instructions require a transaction. When the base client calls a method on an MTS object that requires a transaction, it takes seconds before the method starts executing. We don't know why (At this point, there is sure to be a connection in the pool).
Hope this helps...
Regards, Peter
Met vriendelijke groet,
P.M. (Peter) Hegt, drs. Informatica
Technical Consultant
EXA SE BV
Business Unit Solution Development
Gooimeer 6-32 1411DD Naarden
E-mail: peterh at exa dot nl http://www.exa.nl
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
Received on Tue Jun 29 1999 - 08:26:36 CDT