An application that uses the ADO interface may malfunction, or data loss may occur when the application connects to SQL Server in Windows Vista, in Windows XP, or in Windows Server 2008
Symptoms
Consider the following scenario:An application connects to one of the following products: Microsoft SQL Server 2005 Microsoft SQL Server 2005 Express EditionMicrosoft SQL Server 2000SQL Server Desktop Engine (also known as MSDE 2000)The application uses the SET NOCOUNT ON statement for the connection. The application uses a Microsoft ActiveX Data Objects (ADO) client-side cursor toinsert a row into a table that has an identity column. When the application queries the identity column value of the newly inserted row, the value “0″ is returned incorrectly. When this value is returned, an application that uses the ActiveX Data Objects (ADO) interfacemay malfunction, or data loss may occur. Whether a malfunction or data loss occurs depends on how the application handles this scenario.
Note This problemoccurs only if the application uses a client-side cursor. If the application uses a server-side cursor, the application is not affected.
This problem occurs in the Microsoft Data Access Components (MDAC) components of the following Windows operating systems: Windows Vista Service Pack 1 (SP1)Windows XP Service Pack 2 (SP2) with hotfix 940569 Windows XP Service Pack 3 (SP3) Windows Server 2008
Resolution
To resolve this issue, install the hotfix that is described in the following Microsoft Knowledge Base article:
961451?(http://support.microsoft.com/kb/961451/) FIX: You receive an incorrect value when you query the last-inserted identity value after you use a client-side cursor to insert data to a table that contains an identity column in an application that uses ActiveX Data ObjectsNote The hotfix that was described in the “Resolution” section in the earlier version of this article is superseded by the hotfix that is described in 961451.

Leave a Reply