PRB: Changing Database Context Can Lead to Unexpected Results

ID: Q166108


The information in this article applies to:
  • Microsoft Transaction Server 1.0


SYMPTOMS

With connection pooling enabled, you must make sure that if your component changes the database context of a connection, it does so through the ODBC SQL_CURRENT_QUALIFIER connection attribute, and not via the Transact-SQL "use some_other_database" command. Otherwise, the next component that gets the connection will be connected to the wrong database.


STATUS

This behavior is by design.


MORE INFORMATION

The connection pooling mechanism can detect all changes done through the ODBC API, but it cannot detect changes done in Transact-SQL. Therefore, a statement like "use some_other_database" can set the current database to some unexpected database. When the connection is recycled, the connection is pointing to some_other_database rather than to the original, but the connection pooling mechanism does not know that.

Microsoft Transaction Server always enables connection pooling.

Additional query words: open connectivity

Keywords : kbprg kbMTS kbMTS100 kbODBC kbGrpCom kbDSupport
Version : winnt:1.0
Platform : winnt
Issue type : kbprb


Last Reviewed: October 8, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.