The Desktop Database Drivers support connection pooling, but it should not be used in multithread environments. Problems can result if a connection is disconnected on a different thread than it was allocated and connected on. This situation can occur either when an application calls SQLDisconnect, or when a disconnect timeout occurs (as set by a call to SQLConfigDriver with the fRequest argument set to ODBC_CONFIG_DRIVER and the lpszArgs argument set to CPTimeout). An application can use the Desktop Database Drivers in a multithread environment, but connections should always be allocated, connected, and disconnected on the same thread.