BUG: Direct SPX Connection May Fail from Win16 Client

Last reviewed: April 30, 1997
Article ID: Q128618

The information in this article applies to:
  • Microsoft SQL Server, version 4.21a
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.

WORKAROUND

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.


Additional query words: direct connect hardcoding address dbmsspx3 net-lib
segment Windows NT
Keywords : kbbug4.21a kbenv SSrvWinNT
Version : 4.21a
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 30, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.