Help and Support
 

powered byLive Search

FIX: TDS Errors in a Multithreaded ODBC Application

Article ID:154295
Last Review:December 2, 2002
Revision:1.0
This article was previously published under Q154295
2.65
WINDOWS
kbusage kbinterop kbbug2.65 kbfix6.50.sp2
BUG #: 15705 (SQLBUG_65)

SYMPTOMS

When two or more threads share the same database connection (but different hstmts), a call to SQLExecDirect or SQLExecute fails, and one of the following errors occurs:
[Microsoft][ODBC SQL Server Driver][SQL Server] Received an unrecognized datatype 0 from TDS data stream
[Microsoft][ODBC SQL Server Driver]Unknown token received from SQL Server
[Microsoft][ODBC SQL Server Driver]Protocol error in TDS stream
The error(s) received depends on which network library (TCP/IP sockets or named pipes) is being used.

Back to the top

WORKAROUND

To work around this problem, do one of the following:

Use a Critical Section object around SQLExecDirect or SQLExecute.
Use a different connection for each thread, rather than sharing the same connection.
Add a Sleep function for about 1,000 to 5,000 milliseconds before SQLExecDirect or SQLExecute.

Back to the top

STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server ODBC Driver version 2.65. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.

Back to the top


APPLIES TO
Microsoft Open Database Connectivity 4.21

Back to the top

Keywords: 
kbbug kbfix KB154295

Back to the top

Article Translations

 

Other Support Options

  • Need More Help?
    Contact a Support professional by E-mail, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.