CORRECÇÃO: 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 numa aplicação que utiliza o ActiveX Data Objects

Traduções de Artigos Traduções de Artigos
Artigo: 961451 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário.
  • Uma instância do Microsoft SQL Server, tem duas tabelas e cada tabela contém uma coluna de identidade.
  • Criar um accionador INSERT na primeira tabela. O accionador insere dados para a segunda tabela quando executa o accionador.
  • Tem uma aplicação que utiliza Microsoft ActiveX Data Objects (ADO) para ligar a instância do SQL Server.
  • Na aplicação, utilize um cursor do lado do cliente para inserir dados da primeira tabela.
Neste cenário, quando executar a aplicação e, em seguida, consulta o valor inserido última identidade, poderá achar que a função devolve um valor incorrecto. O valor corresponde ao valor de incremento automático é gerado na segunda tabela em vez de na primeira tabela.

Este problema ocorre no Microsoft Data Access Components (MDAC) 2.8. Pode ter o MDAC 2.8 instalado dos seguintes sistemas operativos Windows:
  • Windows XP Service Pack 2 (SP2)
  • Windows XP Service Pack 3 (SP3)
  • Windows Server 2003 Service Pack 1 (SP1)
  • Windows Server 2003 Service Pack 2 (SP2)
  • Windows Vista Service Pack 1 (SP1)
  • Windows Server 2008

Causa

Quando são introduzidos dados da primeira tabela, o accionador inserir utiliza @@ IDENTITY função em vez da função SCOPE_IDENTITY para obter o valor inserido última identidade. Por conseguinte, o @@ IDENTITY função poderá devolver um valor de identidade que não é gerado pela mesma tabela.

Resolução

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham o problema descrito neste artigo. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentado, contacte o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Tem de ter o correspondente service pack instalado antes de aplicar esta correcção.

Informações sobre reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações de registo

Não é necessário alterar o registo.

Informações sobre ficheiros da correcção

Esta correcção contém apenas os ficheiros necessários para corrigir os problemas referidos neste artigo. Esta correcção não pode conter de todos os ficheiros que necessita para actualizar completamente um produto para a compilação mais recente.A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item data e hora no painel de controlo.
Windows XP SP2, versão de 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Msadce.dll2.81.1144.0331,77631 De Dezembro de 200814: 35
Windows XP SP3, versão de 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Msadce.dll2.81.3010.0331,77631 De Dezembro de 200814: 38
Windows Server 2003 SP1, versão de 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Msadce.dll2.82.3272.0356,35231 De Dezembro de 200816: 04
Windows Server 2003 SP1, versão de 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Msadce.dll2.82.3272.0622,59231 De Dezembro de 200813: 48x 64
Wmsadce.dll2.82.3272.0356,35231 De Dezembro de 200813: 48x 86
Windows Server 2003 SP1, versão baseada em Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Msadce.dll2.82.3272.01,212,41631 De Dezembro de 200813: 48IA-64
Wmsadce.dll2.82.3272.0356,35231 De Dezembro de 200813: 48x 86
Windows Server 2003 SP2, versão de 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Msadce.dll2.82.4437.0356,35231 De Dezembro de 200815: 55
Windows Server 2003 SP2, versão de 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Msadce.dll2.82.4437.0622,59231 De Dezembro de 200813: 53x 64
Wmsadce.dll2.82.4437.0356,35231 De Dezembro de 200813: 53x 86
Windows Server 2003 SP2, versão baseada em Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Msadce.dll2.82.4437.01,212,41631 De Dezembro de 200813: 51IA-64
Wmsadce.dll2.82.4437.0356,35231 De Dezembro de 200813: 51x 86
Windows Vista SP1, versão de 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Package_for_kb961451_client_1 ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,36731 De Dezembro de 200815: 00
Package_for_kb961451_client ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,43031 De Dezembro de 200815: 00
Package_for_kb961451_sc_0 ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,42131 De Dezembro de 200815: 00
Package_for_kb961451_sc ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,42231 De Dezembro de 200815: 00
Package_for_kb961451_server_0 ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,42531 De Dezembro de 200815: 00
Package_for_kb961451_server ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,43031 De Dezembro de 200815: 00
X86_5e4a93ecd0b53d31b4ac3789c9b5bd45_31bf3856ad364e35_6.0.6001.22342_none_2f74674e1031809b.manifestNão aplicável73831 De Dezembro de 200815: 00
X86_microsoft-windows-m...nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6251560e5afb6c40.manifestNão aplicável15,00131 De Dezembro de 200804: 57
Msadce.dll6.0.6001.22342454,65631 De Dezembro de 200804: 23
Windows Vista SP1, versão de 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Amd64_493387e62613f98c9bf65441084bd917_31bf3856ad364e35_6.0.6001.22342_none_f1cd024aaf4fde26.manifestNão aplicável1,12431 De Dezembro de 200815: 00Não aplicável
Amd64_microsoft-windows-m...nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_be6ff1921358dd76.manifestNão aplicável14,68331 De Dezembro de 200805: 26Não aplicável
Package_for_kb961451_client_1 ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,37531 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_client ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,43831 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_sc_0 ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,42931 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_sc ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,43031 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_server_0 ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,43331 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_server ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,43831 De Dezembro de 200815: 00Não aplicável
X86_microsoft-windows-m...nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6251560e5afb6c40.manifestNão aplicável15,00131 De Dezembro de 200804: 57Não aplicável
Msadce.dll6.0.6001.22342589,82431 De Dezembro de 200804: 48x 64
Msadce.dll6.0.6001.22342454,65631 De Dezembro de 200804: 23x 86
Windows Vista SP1, versão baseada em Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Ia64_81d9a6114da25ea41bd90118475b77eb_31bf3856ad364e35_6.0.6001.22342_none_38746d245142eb79.manifestNão aplicável1,12231 De Dezembro de 200815: 00
Ia64_microsoft-windows-m...nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6252fa045af9753c.manifestNão aplicável14,66731 De Dezembro de 200805: 16
Package_for_kb961451_sc_0 ~ 31bf3856ad364e35 ~ ia64 ~ ~ 6.0.2.0.mumNão aplicável1,42531 De Dezembro de 200815: 00
Package_for_kb961451_sc ~ 31bf3856ad364e35 ~ ia64 ~ ~ 6.0.2.0.mumNão aplicável1,42631 De Dezembro de 200815: 00
Package_for_kb961451_server_0 ~ 31bf3856ad364e35 ~ ia64 ~ ~ 6.0.2.0.mumNão aplicável1,42931 De Dezembro de 200815: 00
Package_for_kb961451_server ~ 31bf3856ad364e35 ~ ia64 ~ ~ 6.0.2.0.mumNão aplicável1,43431 De Dezembro de 200815: 00
Msadce.dll6.0.6001.223421,175,55231 De Dezembro de 200804: 41
Windows Server 2008, versão de 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Package_for_kb961451_client_1 ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,36731 De Dezembro de 200815: 00
Package_for_kb961451_client ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,43031 De Dezembro de 200815: 00
Package_for_kb961451_sc_0 ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,42131 De Dezembro de 200815: 00
Package_for_kb961451_sc ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,42231 De Dezembro de 200815: 00
Package_for_kb961451_server_0 ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,42531 De Dezembro de 200815: 00
Package_for_kb961451_server ~ 31bf3856ad364e35 ~ x 86 ~ ~ 6.0.2.0.mumNão aplicável1,43031 De Dezembro de 200815: 00
X86_5e4a93ecd0b53d31b4ac3789c9b5bd45_31bf3856ad364e35_6.0.6001.22342_none_2f74674e1031809b.manifestNão aplicável73831 De Dezembro de 200815: 00
X86_microsoft-windows-m...nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6251560e5afb6c40.manifestNão aplicável15,00131 De Dezembro de 200804: 57
Msadce.dll6.0.6001.22342454,65631 De Dezembro de 200804: 23
Windows Server 2008, versão de 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Amd64_493387e62613f98c9bf65441084bd917_31bf3856ad364e35_6.0.6001.22342_none_f1cd024aaf4fde26.manifestNão aplicável1,12431 De Dezembro de 200815: 00Não aplicável
Amd64_microsoft-windows-m...nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_be6ff1921358dd76.manifestNão aplicável14,68331 De Dezembro de 200805: 26Não aplicável
Package_for_kb961451_client_1 ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,37531 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_client ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,43831 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_sc_0 ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,42931 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_sc ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,43031 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_server_0 ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,43331 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_server ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.2.0.mumNão aplicável1,43831 De Dezembro de 200815: 00Não aplicável
X86_microsoft-windows-m...nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6251560e5afb6c40.manifestNão aplicável15,00131 De Dezembro de 200804: 57Não aplicável
Msadce.dll6.0.6001.22342589,82431 De Dezembro de 200804: 48x 64
Msadce.dll6.0.6001.22342454,65631 De Dezembro de 200804: 23x 86
Windows Server 2008, versão baseada em Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Ia64_81d9a6114da25ea41bd90118475b77eb_31bf3856ad364e35_6.0.6001.22342_none_38746d245142eb79.manifestNão aplicável1,12231 De Dezembro de 200815: 00Não aplicável
Ia64_microsoft-windows-m...nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6252fa045af9753c.manifestNão aplicável14,66731 De Dezembro de 200805: 16Não aplicável
Package_for_kb961451_sc_0 ~ 31bf3856ad364e35 ~ ia64 ~ ~ 6.0.2.0.mumNão aplicável1,42531 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_sc ~ 31bf3856ad364e35 ~ ia64 ~ ~ 6.0.2.0.mumNão aplicável1,42631 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_server_0 ~ 31bf3856ad364e35 ~ ia64 ~ ~ 6.0.2.0.mumNão aplicável1,42931 De Dezembro de 200815: 00Não aplicável
Package_for_kb961451_server ~ 31bf3856ad364e35 ~ ia64 ~ ~ 6.0.2.0.mumNão aplicável1,43431 De Dezembro de 200815: 00Não aplicável
X86_microsoft-windows-m...nts-mdac-rds-ce-dll_31bf3856ad364e35_6.0.6001.22342_none_6251560e5afb6c40.manifestNão aplicável15,00131 De Dezembro de 200804: 57Não aplicável
Msadce.dll6.0.6001.223421,175,55231 De Dezembro de 200804: 41IA-64
Msadce.dll6.0.6001.22342454,65631 De Dezembro de 200804: 23x 86

Ponto Da Situação

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

Mais Informação

Nota A correcção não altera o comportamento do ADO através de fornecedor Microsoft OLE DB para ODBC (MSDASQL)..Para obter mais informações sobre o esquema de atribuição de nomes para as actualizações do SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
822499Novo esquema de atribuição de nomes de ficheiros para pacotes de actualização de software do Microsoft SQL Server
Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 961451 - Última revisão: 25 de agosto de 2009 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows XP Service Pack 2
  • Microsoft Windows XP Service Pack 3
  • Microsoft Windows Server 2003 Service Pack 1
  • Microsoft Windows Server 2003 Service Pack 2
  • Windows Vista Service Pack 1
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
Palavras-chave: 
kbmt kbautohotfix kbsurveynew kbfix kbqfe kbexpertiseadvanced kbhotfixserver KB961451 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 961451

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com