Microsoft KB Archive/887126

From BetaArchive Wiki
Knowledge Base


Article ID: 887126

Article Last Modified on 10/15/2004



APPLIES TO

  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0




SYMPTOMS

The CommandTimeout property of the SqlCommand class is set to zero. Zero is an infinite timeout. When a response from an instance of Microsoft SQL Server is broken into more than one network packet, the connection will be incorrectly closed, and a General Network Error will occur.

RESOLUTION

To resolve this problem, use one of the following methods:

  • Use a large value such as 7200 for the CommandTimeout property.
  • Apply the hotfix in the following Microsoft Knowledge Base article:

    823679 FIX: Multiple fixes for SQL Server .NET Data Provider

Note This problem occurs in both the Microsoft .NET Framework 1.0 and the Microsoft .NET Framework 1.1. However, the hotfix is only available for the .NET Framework 1.1.

STATUS

This behavior is by design.

MORE INFORMATION

You can detect this problem in a network monitor trace if you run a query, and then you retrieve more than one packet of data at a time. By default, the SqlClient packet size is 8 kilobytes (KB). However, in the network monitor trace the packet may appear as multiple physical network packets that total 8 KB when added together. After you receive the first packet, the connection is closed with an ACK+FIN packet. SQL Server will continue to send data afterward. The behavior causes a TCP/IP connection reset and causes the error.

REFERENCES

For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

827422 How to troubleshoot connectivity issues in SQL Server 2000


875285 TechNet Support WebCast: Known connectivity issues related to "General Network Error" error messages


Keywords: kbtshoot kbsqlclient kbprb kbconnectivity KB887126