Knowledge Base

BUG: sp_sqlexec with Two Selects Causes Bad Token Error

PSS ID Number: Q112700

Article Last Modified on 03-20-1999


The information in this article applies to:

BUG# NT: 701 (4.2)

Symptoms

When a client application issues a sp_sqlexec from one NT SQL Server to another server and the command string passed to sp_sqlexec contains multiple SELECT statements, the client application will appear to hang after receiving the first results set. If the client cancels the pending request and attempts to issue further commands using the current dbprocess, these will fail with the errors:

Attempt to initiate a new operation with results pending Bad Token from SQL Server. Datastream processing out of sync.


Cause

The execution of a sp_sqlexec from a local NT SQL Server to a remote server in which multiple SELECT statements are included in the command batch will cause the client not to receive results after the first results set.


Workaround

This behavior will not occur if sp_sqlexec is used to execute a stored procedure that returns multiple results sets. Instead of sending multiple selects as ad-hoc SQL, place the selects in a stored procedure and execute the procedure remotely either using sp_sqlexec or using standard RPC calling methods.


Status

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

Additional query words: calls rpc proc Windows NT

Keywords: kbprogramming
Issue Type:
Technology: kbSQLServSearch kbAudDeveloper