Microsoft KB Archive/315938

From BetaArchive Wiki
Knowledge Base


FIX: SELECT That References Several Tables May Return Invalid TDS Error or Cause Client Application to Stop Responding

Article ID: 315938

Article Last Modified on 9/27/2005



APPLIES TO

  • Microsoft SQL Server 7.0 Standard Edition



This article was previously published under Q315938

BUG #: 57437 (SQLBUG_70)

SYMPTOMS

A SELECT statement that joins several tables (typically, approximately 32) may cause the client application to stop responding (hang) or to return one of the following error messages.

This error message may appear in an ODBC application:

[Microsoft][ODBC SQL Server Driver]Protocol error in TDS stream
[Microsoft][ODBC SQL Server Driver]Function sequence error

This error message may appear in a DB-Library application:

DB-Library: Possible network error: Bad token from SQL Server: DataStream processing out of sync. Net-Library error 0: (null)
DB-Library: DBPROCESS is dead or not enabled.

An application that uses the OLEDB provider for SQL Server (SQLOLEDB) may not return any error; however, it may appear to the application that the query returned no rows even though the query did produce one or more rows.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 7.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

301511 INF: How to Obtain the Latest SQL Server 7.0 Service Pack


NOTE: The following hotfix was created prior to Microsoft SQL Server 7.0 Service Pack 4.

The English version of this fix should have the following file attributes or later:

   Version       File name       Description
   -----------------------------------------------

   7.00.1018     Sqlservr.exe    SP3-based hotfix
                

NOTE: Because of file dependencies, the most recent hotfix or feature that contains the preceding files may also contain additional files.


WORKAROUND

To possibly prevent this problem from occurring, increase or decrease the number of tables referenced in the query. For example, you might be able to avoid the problem by adding a self-join that does not affect the data returned from the query (join a table to itself on the table's primary key columns).

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft SQL Server 7.0 Service Pack 4.


Additional query words: empty resultset recordset client halt stop responding

Keywords: kbbug kbfix kbsqlserv700presp4fix kbqfe kbhotfixserver KB315938