CORRECÇÃO: não é possível inserir valores explícitos numa coluna de uma tabela do SQL Server IDENTITY utilizando a função SQLBulkOperations ou a função SQLSetPos ODBC no SQL Server 2000

Traduções de Artigos Traduções de Artigos
Artigo: 828945 - Ver produtos para os quais este artigo se aplica.
N.º de bugs: 470299 (SQL Server 8.0)

A Microsoft distribui correcções SQL Server 2000 como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2000 anteriores corrigir lançamento.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando utiliza a função SQLBulkOperations ou SQLSetPos ODBC função Insira valores explícitos de uma coluna IDENTITY do SQL Server, o ODBC função poderá não ser executado com êxito e poderá receber a seguinte mensagem de erro:

DIAG [37000] [Microsoft] [ODBC SQL Server controlador] [servidor SQL] valor explícito deve ser especificado para a coluna de identidade na tabela 'new_employees' quando IDENTITY_INSERT é definido como ON. (545)

Este problema ocorre mesmo quando definiu o IDENTITY_INSERT optar activa para a tabela que contém a coluna IDENTITY.

Causa

Mesmo se a opção IDENTITY_INSERT estiver definida como ON, SQL Server envia incorrectamente o estado da coluna IDENTITY como não actualizável. Uma vez que o controlador ODBC depende do estado updateability o IDENTITY coluna, o controlador ODBC assume que a coluna IDENTITY não é actualizável. Por conseguinte, o controlador ODBC ignora a coluna quando utiliza SQLBulkOperations ou a função ODBC SQLSetPos para inserir valores explícitos um IDENTITY de servidor SQL coluna.

Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Microsoft SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre a correcção

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 na ferramenta Data e hora no painel de controlo.
   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
Nota Devido a dependências de ficheiros, a correcção mais recente ou funcionalidade que contém estes ficheiros pode também conter ficheiros adicionais.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".Este problema foi corrigido pela primeira vez 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 de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
294153Erro: SQLBulkOperations e SQLSetPos não introduzir valores de identidade

Para obter informações adicionais sobre actualizações 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: 828945 - Última revisão: 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 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: 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