Uma aplicação que utiliza a interface ADO poderá não funcionar correctamente ou poderá ocorrer perda de dados quando a aplicação estabelece ligação ao SQL Server no Windows Vista, no Windows XP ou no Windows Server 2008

Sintomas

Considere o seguinte cenário:
  • Uma aplicação estabelece ligação a um dos seguintes produtos:
    • Microsoft SQL Server 2005
    • Microsoft SQL Server 2005 Express Edition
    • Microsoft SQL Server 2000
    • SQL Server Desktop Engine (também conhecido como MSDE 2000)
  • A aplicação utiliza a instrução SET NOCOUNT ON para a ligação.
  • A aplicação utiliza um cursor do lado do cliente Microsoft ActiveX Data Objects (ADO) para inserir uma linha numa tabela que tem uma coluna de identidade.
Quando a aplicação consultar o valor da coluna de identidade da linha recentemente introduzida, o valor "0" é devolvido incorrectamente. Quando este valor é devolvido, uma aplicação que utiliza a interface de ActiveX Data Objects (ADO) poderá não funcionar correctamente ou poderá ocorrer perda de dados. Se ocorre uma avaria ou perda de dados depende do modo como a aplicação processa este cenário.

Nota Este problema ocorre apenas se a aplicação utiliza um cursor do lado do cliente. Se a aplicação utiliza um cursor do lado do servidor, a aplicação não é afectada.

Este problema ocorre nos componentes do Microsoft Data Access Components (MDAC) dos seguintes sistemas operativos Windows:
  • Windows Vista Service Pack 1 (SP1)
  • Windows XP Service Pack 2 (SP2) com a correcção 940569
  • Windows XP Service Pack 3 (SP3)
  • Windows Server 2008

Resolução

Para resolver este problema, instale a correcção descrita no seguinte artigo da Base de dados de conhecimento da Microsoft:
CORRIGIR 961451 : o utilizador recebe um valor incorrecto quando consulta o valor inserido última identidade depois de utilizar um cursor do lado do cliente para inserir dados a uma tabela que contém uma coluna de identidade de uma aplicação que utiliza o ActiveX Data Objects

Nota A correcção descrita na secção "Resolução" na versão anterior do presente artigo é substituída pela correcção descrita no 961451.

Estado

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais informações

Este problema afecta-se utilizar o Retail Management System (RMS) Store Operations or Headquarters do Microsoft Dynamics nos sistemas operativos Windows afectados e que são suportadas. Recomendamos que aplique esta correcção para evitar dados inválidos ou perda de dados.

Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft

940569 num computador que tenha o Microsoft Data Access Components 2.8 instalado, uma aplicação recebe um valor incorrecto para a coluna de identidade de uma base de dados do SQL Server 2005

Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
824684 descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft
Propriedades

ID do Artigo: 952287 - Última Revisão: 21/02/2017 - Revisão: 2

Windows Vista Service Pack 1, Windows Vista Enterprise 64-bit edition, Windows Vista Home Basic 64-bit edition, Windows Vista Home Premium 64-bit edition, Windows Vista Ultimate 64-bit edition, Windows Vista Business, Windows Vista Business 64-bit edition, Windows Vista Enterprise, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Ultimate, Windows Server 2008 Datacenter without Hyper-V, Windows Server 2008 Enterprise without Hyper-V, Windows Server 2008 for Itanium-Based Systems, Windows Server 2008 Standard without Hyper-V, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 Standard, Microsoft Windows XP Service Pack 3

Comentários