Article ID: 286359 - Last Review: September 26, 2005 - Revision: 3.3 FIX: SQL Server ODBC Driver Generates Error When Executing a Stored Procedure on SQL Server 2000This article was previously published under Q286359 On This PageSYMPTOMS
An application that uses the Open Database Connectivity (ODBC) application programming interface (API) to call a SQL Server 2000 stored procedure that has a return value with the SQLExecDirect() API function and open a cursor on the resulting table may return the following errors:
szSqlState = "42000", *pfNativeError = 170, *pcbErrorMsg = 81
MessageText = "[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '?'."
szSqlState = "42000", *pfNativeError = 16945, *pcbErrorMsg = 75
MessageText = "[Microsoft][ODBC SQL Server Driver][SQL Server]The cursor was not declared."
CAUSE
Before the SQL Server ODBC driver sends the command to the SQL Server, it restructures the ODBC call syntax to the SQL Server sp_opencursor command syntax. In the process of restructuring the command, the driver does not put a space after the name of the stored procedure. For example, calling this stored procedure causes the SQL Server ODBC driver to generate the following sp_cursoropen call.
Table Schema and Stored ProcedureODBC Call SyntaxResulting Call to SQL Server 2000RESOLUTIONTo resolve this problem, obtain the latest service pack for Microsoft Data Access Components 2.6. For additional information, click the following article number to view the article in the
Microsoft Knowledge Base:
300635
(http://support.microsoft.com/kb/300635/EN-US/
)
INFO: How to Obtain the Latest MDAC 2.6 Service Pack
HotfixThe English version of this fix should have the following file attributes or later:Date Time Version Size File name Platform ------------------------------------------------------------- 02/15/01 5:53P 2000.80.256.0 28,742 Odbcbcp.dll x86 02/15/01 5:53P 2000.80.256.0 471,119 Sqlsrv32.dll x86 02/15/01 5:44P 2000.80.256.0 90,112 Sqlsrv32.rll x86 STATUSMicrosoft 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 Data Access Components 2.6 Service Pack 1.
| Article Translations
|
Back to the top
