Microsoft KB Archive/153987

From BetaArchive Wiki
Knowledge Base


FIX: AV Error Using Temp Table and Cursor in Stored Procedure

Article ID: 153987

Article Last Modified on 10/3/2003



APPLIES TO

  • Microsoft SQL Server 6.5 Standard Edition



This article was previously published under Q153987


SYMPTOMS

A stored procedure that performs selects against a cursor with a temporary table in the cursor will fail with an access violation or with the following error message:

Msg 208 "Invalidobject name #temptable"


The problem will only occur after SQL Server has been shut down and restarted after the initial creation of the stored procedure. If the stored procedure is then dropped and re-created, it will work again until SQL Server is shut down and restarted.

CAUSE

On recompile of the stored procedure, the temporary tables are not being resolved properly if they are being invoked from inside a cursor.

WORKAROUND

The problem only occurs if both the temporary table and the cursor are both created inside a stored procedure. Creating the temporary table outside of the stored procedure will allow the stored procedure to function correctly. An alternative workaround would be to convert the temporary table to a permanent table.

STATUS

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

Keywords: kbbug kbfix kbnetwork KB153987