INFO: ODBC Driver Must Be Thread Safe If Used with MTS (177411)
The information in this article applies to:
- Microsoft Transaction Server 1.0
This article was previously published under Q177411 SUMMARY
An ODBC driver must be thread-safe if it is to be used by a Microsoft
Transaction Server (MTS) component. MTS components transparently use an
ODBC connection obtained from a pool of connections that is managed by the
ODBC Driver Manager. This allows MTS to use a pool of connections that it
can keep very busy, without the cost of opening and closing a connection
for each component that accesses the database. Connections are used by a
component and then returned to the pool.
Connections in the pool that have not been used for a set period of time
will be freed, to minimize the use of server resources. The ODBC connection
pool manager uses a worker thread to check for connections that have not
been used for a certain amount of time. By default, the CPTimeout
(connection pool timeout) value is 60 seconds, but you can change it if you
want. Because this worker thread is different than the thread that opened
the connection, the ODBC driver must be able to handle disconnect requests
(SQLDisconnect) coming from a thread other than the thread that called
SQLConnect. Some ODBC drivers cause a general protection fault (GPF) when
the disconnect request is from a different thread.
REFERENCES
For more information, visit the Web site at:
Modification Type: | Minor | Last Reviewed: | 3/11/2005 |
---|
Keywords: | kbinfo KB177411 |
---|
|