FIX: ODBC 6.0 Driver Sometimes Cannot Get Results w/ dbmsspx3

ID: Q135312

2.50.0121 6.00 WINDOWS kbnetwork kbbug2.50.0121 kbbug6.00

The information in this article applies to:

BUG# NT: 10051 (6.00)

SYMPTOMS

If the Microsoft ODBC 2.50.0121 Win16 SQL Server driver is running against a SQL Server version 6.0 database whose sp_configure network packet size is greater than 512 bytes, the following error occurs:

   szSqlState="01000", pfNativeError = 253,
   szErrorMsg="[Microsoft][ODBC SQL Server driver][DBMSSPX3]
               ConnectionRead(SPXListenForSequencedpacket())."

The default for the sp_configure packet size on installation is 4096, so new SQL Server version 6.0 sites may see this problem the first time they attempt to access the server from a data source configured to use the Win16 driver and DBMSSPX3.

The problem does not occur with the Win32 ODBC driver. It does not occur if the application is accessing a version 4.21a server because the 4.21a servers always run with a 512 packet size which is not configurable. The problem also does not occur with dblib clients, such as the SQL Server utilities.

The key to determining if this is the specific error encountered is to confirm that the pfNative error returned by the driver is 253. A Novell 253 error on a SPXListenForSequencedpacket call indicates that an overflow has occurred on a network packet buffer. Other problems, such as network configuration problems, may generate the same SqlState and ErrorMsg values, but they will generally have different pfNative values.

CAUSE

The Microsoft ODBC 2.50.0121 Win16 SQL Server driver cannot retrieve results from a SQL Server version 6.0 system if it is working with DBMSSPX3 network library and the server is configured to have a network packet size larger that 512 bytes.

WORKAROUND

Set the SQL Server network packet size to 512 using either the SQL Enterprise Manager, or by issuing the following command in ISQL:

   sp_configure 'network packet size', 512
   go
   reconfigure
   go

You should then stop and restart SQL Server. Other options are to use the Win32 ODBC driver, or to use the DBNMP3 network library instead of DBMSSPX3.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft ODBC SQL Server driver version 2.50.0121. This problem was corrected in Service Pack 1 for SQL Server version 6.0. For more information, contact your primary support provider.

Additional reference words: 6.00 sql6 2.50 KBCategory: kbnetwork kbbug2.50.0121 kbbug6.00 kbfix6.00.sp1 KBSubcategory: SSrvLan

Keywords          : SSrvLAN 
Version           : 2.50.0121 6.00
Platform          : WINDOWS
Solution Type     : kbfix

Last Reviewed: October 30, 1997