FIX: An error may occur when you start a new transaction in ADO.NET 2.0 on a connection that is open to a SQL Server 2005 database (912732)



The information in this article applies to:

  • Microsoft .NET Framework 2.0


SYMPTOMS

An error may occur in a Microsoft ADO.NET 2.0 application because of the following sequence of events:
  1. You open a connection and start a Transact-SQL transaction by using the "System.Data.SqlClient" namespace.
  2. You close the connection without completing the Transact-SQL transaction.
  3. You request another connection and receive the previous connection from the connection pool.
  4. You start a new transaction by using the SqlConnection.BeginTransaction method.
You may receive the following error message:
This SqlTransaction has completed; it is no longer usable.

at System.Data.SqlClient.SqlTransaction.ZombieCheck()
at System.Data.SqlClient.SqlTransaction.get_IsolationLevel()
at TestRepro.Program.Main(String[] args)

RESOLUTION

To resolve this issue, download the appropriate file for your computer:

For an x86-based computer

The following file is available for download from the Microsoft Download Center:
http://download.microsoft.com/download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-X86.exe

For an x64-based computer

The following file is available for download from the Microsoft Download Center:
http://download.microsoft.com/download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-X64.exe

For an Itanium-based computer

The following file is available for download from the Microsoft Download Center:
http://download.microsoft.com/download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-IA64.exe For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

This hotfix is included in the same hotfix package as the hotfix for the following Microsoft Knowledge Base article: For more information, click the following article number to view the article in the Microsoft Knowledge Base:

912151 FIX: The connection may time out before the first try to connect to the failover partner server when you try to connect to a SQL Server 2005 mirrored database by using an ADO.NET 2.0-based application

912731 FIX: When an ADO.NET-connected application uses the System.Data.SqlClient namespace, the application may experience high CPU use and may stop responding

913176 FIX: A connection failure may be reported even though the database server is actually available when you try to connect to a database by using the SqlConnection object in ADO.NET 2.0

913177 FIX: You may receive an error message when an ADO.NET-connected application uses the SqlBulkCopy class

913764 FIX: Error message when you try to run a UNION ALL query or to call the DeriveParameters method: "Internal connection fatal error"

913765 FIX: An SqlException exception may occur when you call one of the Execute methods on the instance of the SqlCommand class in an ADO.NET 2.0 application

913766 FIX: A DateTime column that does not contain any data is incorrectly represented by a DateTime.MinValue field when a .NET Framework 2.0 DataSet object is deserialized on a client computer


Modification Type:MajorLast Reviewed:10/10/2006
Keywords:kbBug kbfix kbQFE kbpubtypekc KB912732 kbAudDeveloper kbAudITPRO