FIX: Sp_cursoropen Error With More Than One Parameter Marker (154966)



The information in this article applies to:

  • Microsoft SQL Server 6.5

This article was previously published under Q154966

SYMPTOMS

When you use server side cursors, SQL Server Driver invokes the extended stored procedure Sp_cursoropen with incorrect parameters when the following conditions are met:
  • The number of parameter markers in the WHERE clause of a SELECT statement are more than one.
  • The parameter markers correspond to CHAR or VARCHAR datatypes.
  • The network packet size is set to 512 bytes in the server configuration/options.
In addition, SQL Server Driver generates the following error message:
szSqlState = "37000", *pfNativeError = 16903,
szErrorMsg="[Microsoft][ODBC SQL Server Driver][SQL Server]
sp_cursoropen procedure called with incorrect number of parameters".

The following error message appears if any further activity occurs on the client side:
Communication link failure.

WORKAROUND

Set the Network Packet Size greater than 512 bytes in Server Configuration/Options using Sp_configure.

STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server Driver 2.65.0201. 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.

Modification Type:MajorLast Reviewed:10/3/2003
Keywords:kbfix kbnetwork KB154966