BUG: Direct SPX Connection May Fail from Win16 Client (128618)



The information in this article applies to:

  • Microsoft SQL Server 4.2x
  • Microsoft SQL Server 6.0
  • Microsoft SQL Server 6.5

This article was previously published under Q128618
BUG# NT: 8622 (4.21a)

SYMPTOMS

A Windows 16-bit (Win16) IPX/SPX client connection to SQL Server may fail if the direct connection is used (as opposed to using bindery service), and the network segment number (for example, the external IPX network number) is larger than 0x7FFF.

When you use direct connections through hardcoding the IPX address, socket number, and network number, DBMSSPX3.DLL converts the network number incorrectly if the network number is larger than 0x7FFF. This causes the connection to SQL Server to fail due to incorrect network routing.

However, this should not cause major problems in actual applications because a Microsoft Windows version 3.1 client application typically uses bindery service when connecting to SQL Server, and large network numbers are not commonly used.

CAUSE

DBMSSPX3.DLL converts the network number specified in the connection string incorrectly.

If the network number is between 0x8000 and 0xFFFF, the Network Library (Net-Library) DLL will prefix FFFF to the specified network number. For example, if the specified number is 0x89AB, the client will actually try to connect to the network with network number of 0xFFFF89AB.

If the network number is larger than 0xFFFF, the Net-Library will ignore all but the last two bytes. For example, if the specified network number is 0x12345, it will truncate the first digit, and only use 0x2345 as the network number.

RESOLUTION

Use bindery service for IPX address resolution instead of hardcoding the address in the connection string. If direct connection is necessary, use a network segment number smaller than 0x8000.

STATUS

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

Modification Type:MinorLast Reviewed:3/14/2005
Keywords:kbbug kbenv KB128618