BUG: DB-Lib Unable to Handle Burst of TDS Packets Under TCP/IPLast reviewed: April 8, 1997Article ID: Q152063 |
The information in this article applies to:
SYMPTOMSUnder TCP/IP socket Net-Library, a DB-Library (DB-Lib) application may not be able to handle a large number of TDS packets that are sent back to the client very quickly. As a result, the following error occurs, which also breaks the connection:
DB-Library: Possible network error: Read from SQL Server failed. Net-Library error 0: (null) CAUSEWhen TCP/IP sends a large number of small TDS packets to clients, TCP tends to coalesce those small data packets. With the TCP windowing mechanism, the client's receive buffer typically contains numerous TDS packets waiting to be fetched by DB-Lib. When this happens, DB-Lib may incorrectly process the incoming data. The problem is more likely to occur with a faster server and a slower client.
WORKAROUNDThis problem only occurs under TCP/IP; therefore, you may want to use other IPCs (such as named pipes, IPX/SPX, or RPC) instead. Also, reducing the window size on the client side TCP/IP can make the problem less likely to occur.
STATUSMicrosoft has confirmed this to be a problem in Microsoft SQL Server DB- Library versions 6.5 and 6.0. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
|
Additional query words: bundling Nagle bad token dblib
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |