FIX: COM+ Dispenser Manager Does Not Efficiently Reuse Open Enlisted Database Connections (277814)
The information in this article applies to:
- Microsoft COM+ 1.0, when used with:
- the operating system: Microsoft Windows 2000
This article was previously published under Q277814 SYMPTOMS
When you use a connection from transactional COM+ components, you may encounter the following symptoms:
- It appears that connection pooling does not work with Microsoft Transaction Server (MTS) or COM+ because new connections are opened and enlisted in the transaction.
- Some databases may return errors when multiple connections are enlisted in the same transaction. For example, the Oracle ODBC Driver returns error -2147168246 "Failure enlisting in Resource Manager" when OLE DB Session Pooling uses up all "max_transaction_branches" (where the default value is 8, and the maximum value is 32) on an Oracle server.
CAUSE
When a database connection needs to be allocated in a transactional component, the Dispenser Manager always goes to the list of free connections (the connection pool). As a result, a new connection is enlisted in the transaction even if there are free connections that had been previously enlisted in that transaction.
RESOLUTIONTo resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the
Microsoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
STATUSMicrosoft has confirmed that this is a problem in Microsoft Windows 2000. This problem was first corrected in Windows 2000 Service Pack 2.MORE INFORMATION
When a transacted component opens a new connection, the Dispenser Manager first goes through the list of connections already associated with that transaction to determine if a connection is free. If the Dispenser Manager finds a free connection, that connection will be reused, otherwise a free connection is taken out of the pool.
Modification Type: | Major | Last Reviewed: | 5/28/2003 |
---|
Keywords: | kbbug kbDatabase kbfix kbQFE kbWin2000PreSP2Fix KB277814 |
---|
|