BUG: Multiple threads Cause Connection Busy Error in the Driver

Last reviewed: November 3, 1997
Article ID: Q175904
The information in this article applies to:
  • Microsoft SQL Server, versions 6.5
  • Microsoft Open Database Connectivity, versions 2.5 and 3.0
BUG #: 17322 (6.50)

SYMPTOMS

Multiple threads, each allocating its own HSTMT using server cursors (active statements) sharing a single connection, cause the following error on prepared execution of a SQL statement:

   S1000: [Microsoft][ODBC SQL Server Driver] Connection is busy with
   results for another hstmt

WORKAROUND

To work around this problem, use SQLExecDirect statements instead of SQLPrepare and SQLExecute when using multiple active HSTMTs (on different threads) and server cursors.

STATUS

Microsoft has confirmed this to be a problem in SQL Server version 6.5 and Open Database Connectivity version 3.0. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.


Additional query words: timing multi-threaded
Keywords : kbbug2.50 kbbug6.50 SSrvGen ODBCGen kbinterop
Version : WinNT:2.5,3.0,6.5
Platform : winnt
Issue type : kbbug
Solution Type : kbworkaround


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 3, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.