CORRECÇÃO: Você não pode inserir valores explícitos em uma coluna IDENTITY de uma tabela do SQL Server usando a função SQLBulkOperations ou a função SQLSetPos ODBC no SQL Server 2000

Traduções deste artigo Traduções deste artigo
ID do artigo: 828945 - Exibir os produtos aos quais esse artigo se aplica.
Bug #: 470299 (SQL Server 8.0)

A Microsoft distribui correções do SQL Server 2000 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todas as as correções de segurança que foram incluídas com o SQL Server 2000 anterior corrigir lançamento.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você usar a função SQLBulkOperations ou SQLSetPos ODBC função para inserir valores explícitos em uma coluna IDENTITY do SQL Server, o ODBC função pode não ser executado com êxito e você pode receber a seguinte mensagem de erro:

DIAG [37000] [Microsoft] [ODBC SQL Server Driver] [SQL Server] valor Explicit deve ser especificado para coluna de identidade na tabela 'new_employees' quando IDENTITY_INSERT está definido como ON. (545)

Esse problema ocorre mesmo quando você definir o IDENTITY_INSERT opção de ativado para a tabela que contém a coluna IDENTITY.

Causa

Mesmo se a opção IDENTITY_INSERT é definida como ON, SQL Server envia incorretamente o status da coluna IDENTITY como não atualizável. Porque o driver ODBC depende do status do IDENTITY atualizabilidade coluna, o driver ODBC pressupõe que a coluna IDENTITY não atualizável. Portanto, o driver ODBC ignora a coluna quando você usa SQLBulkOperations ou a função ODBC SQLSetPos para inserir valores explícitos em uma IDENTITY de servidor SQL coluna.

Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre o hotfix

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 na ferramenta Data e hora no painel de controle.
   Date         Time   Version            Size    File name
   -----------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe
   25-Jun-2003  01:01  2000.80.818.0      33,340  Dbmslpcn.dll
   25-Apr-2003  02:12                    786,432  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf
   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql
   12-Sep-2003  03:26  2000.80.859.0   1,905,216  Dtspkg.dll
   26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.dll
   23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll
   23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll
   24-Apr-2003  02:51                    747,927  Instdist.sql
   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll
   01-Apr-2003  02:07                      1,873  Odsole.sql
   05-Apr-2003  01:46  2000.80.800.0      62,024  Odsole70.dll
   07-May-2003  20:41  2000.80.819.0      25,144  Opends60.dll
   02-Apr-2003  21:48  2000.80.796.0      57,904  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll
   04-Aug-2003  18:17                    550,780  Procsyst.sql
   12-Sep-2003  00:37                     12,305  Qfe469315.sql
   22-May-2003  22:57                     19,195  Qfe469571.sql
   06-Sep-2003  01:36                  1,090,932  Replmerg.sql
   06-Sep-2003  07:18  2000.80.858.0     221,768  Replprov.dll
   06-Sep-2003  07:18  2000.80.858.0     307,784  Replrec.dll
   06-Sep-2003  00:00                  1,087,150  Replsys.sql
   13-Aug-2003  16:28                    986,603  Repltran.sql
   29-Jul-2003  20:13  2000.80.819.0     492,096  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll
   05-Aug-2003  21:06                    127,884  Sp3_serv_uni.sql
   01-Jun-2003  01:01  2000.80.818.0   4,215,360  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172  Sqldumper.exe
   19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll
   27-Sep-2003  04:42  2000.80.865.0     180,792  Sqlmap70.dll     
   03-Sep-2003  02:56  2000.80.857.0     188,992  Sqlmmc.dll
   02-Sep-2003  23:03  2000.80.857.0     479,232  Sqlmmc.rll
   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll
   27-Sep-2003  04:42  2000.80.865.0   7,606,353  Sqlservr.exe     
   25-Jul-2003  21:44  2000.80.845.0     590,396  Sqlsort.dll      
   08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll
   25-Jun-2003  01:01  2000.80.818.0      33,340  Ssmslpcn.dll
   01-Jun-2003  01:01  2000.80.818.0      82,492  Ssnetlib.dll
   01-Jun-2003  01:01  2000.80.818.0      25,148  Ssnmpn70.dll
   01-Jun-2003  01:01  2000.80.818.0     158,240  Svrnetcn.dll
   31-May-2003  18:59  2000.80.818.0      76,416  Svrnetcn.exe
   30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll
   02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll
Observação Devido às dependências do arquivo, o hotfix mais recente ou o recurso que contém esses arquivos também pode conter arquivos adicionais.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".Esse problema foi corrigido primeiro no Microsoft SQL Server 2000 Service Pack 4.

Referências

Para obter informações adicionais sobre o SQLBulkOperations e as funções SQLSetPos, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
294153Erro: SQLBulkOperations e SQLSetPos não inserir valores de identidade

Para obter informações adicionais sobre atualizações 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: 828945 - Última revisão: sexta-feira, 2 de novembro de 2007 - Revisão: 3.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbqfe kbsqlclient kbclientserver kberrmsg kbsqlserv2000presp4fix kbfix kbbug KB828945 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: 828945

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