CORRECÇÃO: Recebe um valor incorreto quando você consulta o valor inserido última identidade após usar um cursor ao lado do cliente para inserir dados em uma tabela que contém uma coluna de identidade em um aplicativo que usa ActiveX Data Objects

Traduções deste artigo Traduções deste artigo
ID do artigo: 961451 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Considere o seguinte cenário.
  • Em uma instância do Microsoft SQL Server, você tem duas tabelas e cada tabela contém uma coluna de identidade.
  • Você pode criar um disparador INSERT na primeira tabela. O disparador insere dados para a segunda tabela quando o disparador é executado.
  • Você tiver um aplicativo que usa o Microsoft ActiveX Data Objects (ADO) para se conectar à instância do SQL Server.
  • No aplicativo, você pode usar um cursor ao lado do cliente para inserir dados para a primeira tabela.
Nesse cenário, quando você executar o aplicativo e, em seguida, consulta o valor inserido última identidade, você verá que a função retorna um valor incorreto. O valor corresponde ao valor de incremento automático que é gerado na segunda tabela em vez de na primeira tabela.

Esse problema ocorre no Microsoft Data Access Components (MDAC) 2.8. Você pode ter o MDAC 2.8 instalado em um dos seguintes sistemas operacionais 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 dados são inseridos na primeira tabela, o disparador de inserção usa @@ IDENTITY função em vez da função SCOPE_IDENTITY para obter o valor inserido última identidade. Portanto, o @@ IDENTITY função pode retornar um valor de identidade não é gerado pela mesma tabela.

Resolução

Informações sobre o hotfix

Um hotfix suportado está disponível no Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem o problema descrito neste artigo. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior neste artigo da Base de dados de Conhecimento. Se esta seção não for exibida, contate o atendimento e suporte para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de suporte e Atendimento Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação O formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos

Você deve ter o service pack correspondente instalado antes de aplicar esse hotfix.

Informações sobre reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix.

Informações do registro

Não é necessário alterar o registro.

Informações sobre o arquivo de hotfix

Esse hotfix contém apenas os arquivos que são necessárias para corrigir os problemas que este artigo lista. Este hotfix não pode conter de todos os arquivos que você deve ter para actualizar completamente um produto para a compilação mais recente.A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
Windows XP SP2, versão de 32 bits
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Msadce.dll2.81.1144.0331,77631 De dezembro de 200814: 35
Windows XP SP3, versão de 32 bits
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Msadce.dll2.81.3010.0331,77631 De dezembro de 200814: 38
Windows Server 2003 SP1, versão de 32 bits
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Msadce.dll2.82.3272.0356,35231 De dezembro de 200816: 04
Windows Server 2003 SP1, versão com base em 64 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
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 com base em Itanium
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
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
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Msadce.dll2.82.4437.0356,35231 De dezembro de 200815: 55
Windows Server 2003 SP2, versão com base em 64 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
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 com base em Itanium
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
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
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
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
Janelas m X86_microsoft...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 com base em 64 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Amd64_493387e62613f98c9bf65441084bd917_31bf3856ad364e35_6.0.6001.22342_none_f1cd024aaf4fde26.manifestNão aplicável"" 1,12431 De dezembro de 200815: 00Não aplicável
Janelas m Amd64_microsoft...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
Janelas m X86_microsoft...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 com base em Itanium
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Ia64_81d9a6114da25ea41bd90118475b77eb_31bf3856ad364e35_6.0.6001.22342_none_38746d245142eb79.manifestNão aplicável1,12231 De dezembro de 200815: 00
Janelas m Ia64_microsoft...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
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
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
Janelas m X86_microsoft...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 com base em 64 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Amd64_493387e62613f98c9bf65441084bd917_31bf3856ad364e35_6.0.6001.22342_none_f1cd024aaf4fde26.manifestNão aplicável"" 1,12431 De dezembro de 200815: 00Não aplicável
Janelas m Amd64_microsoft...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
Janelas m X86_microsoft...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 com base em Itanium
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Ia64_81d9a6114da25ea41bd90118475b77eb_31bf3856ad364e35_6.0.6001.22342_none_38746d245142eb79.manifestNão aplicável1,12231 De dezembro de 200815: 00Não aplicável
Janelas m Ia64_microsoft...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
Janelas m X86_microsoft...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

Situação

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

Mais Informações

Observação A correção não altera o comportamento do ADO através de provedor Microsoft OLE DB para ODBC (MSDASQL)..Para obter mais informações sobre o esquema para nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
822499Novo esquema para nomeação para pacotes de atualização de software do Microsoft SQL Server
Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Propriedades

ID do artigo: 961451 - Última revisão: terça-feira, 25 de agosto de 2009 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows XP Service Pack 2
  • Service Pack 3 para Windows XP
  • Microsoft Windows Server 2003 Service Pack 1
  • Microsoft Windows Server 2003 Service Pack 2
  • Service Pack 1 para Windows Vista
  • 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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