CORRECÇÃO: Inserir erro (mensagem 213) com NO_BROWSETABLE e INSERT EXEC

Traduções deste artigo Traduções deste artigo
ID do artigo: 275483 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
BUG #: 56678 (SQLBUG_70)
BUG #: 18887 (SQLBUG_65)
Expandir tudo | Recolher tudo

Sintomas

Se as duas condições a seguir forem verdadeiras:
  • A opção NO_BROWSETABLE está definida no.

    - e -
  • Existe um procedimento armazenado que executa uma instrução SELECT em tabelas com uma chave primária ou um índice exclusivo (isso é referenciado como < procedimento armazenado > no comando abaixo).
Você receberá o erro 213 se você executar a instrução a seguir:
INSERT INTO <table> EXEC <stored procedure>
				
a mensagem de erro é exibida é:
Msg 213, nível 16, estado 1
Inserir o erro: nome de coluna ou número de valores fornecidos não corresponde à definição de tabela. Comando foi anulado.

Causa

Abra Serviços de dados (ODS) auto-retorno para INSERTTratamento de EXEC não ignora dados para as colunas ocultas.

Resolução

Observação: O hotfix descrito nesta seção se aplica ao SQL Server 6.5. Se você tiver o SQL Server 7.0, esse hotfix não será aplicada; a correção tem sido incluída no SQL Server 7.0 Service Pack 2 (SP2). Consulte a seção STATUS deste artigo para obter informações sobre como obter o SP2.

Uma correção suportada está agora disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente aos computadores que apresentarem esse problema específico. Pode ser nessa correção testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, a Microsoft recomenda que você aguarde o próximo service pack do SQL Server que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter a correção. Para obter uma lista completa dos números de telefone do Atendimento Microsoft do e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Observação : em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de suporte normais serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

A versão em inglês dessa correção deve ter os seguintes atributos de arquivo ou posteriores:
   Date         Time      Version      Size         File name    Platform
   ----------------------------------------------------------------------

   11/08/99   07:40 AM   6.50.464   2,719,403 KB   SQL464i.exe   Intel
   11/18/99   12:50 PM   6.50.464   4,538,007 KB   SQL464a.exe   Alpha
				
Observação: devido a dependências do arquivo, o hotfix mais recente ou o recurso que contém os arquivos acima pode também conter arquivos adicionais.

Como Contornar

Para contornar esse problema, suprimir uma das três condições que faz com que ele. Ou seja, você pode fazer qualquer um dos seguintes:
  • Não defina a opção NO_BROWSETABLE no. Para garantir isso, use cursores do lado do servidor (para obter informações adicionais, consulte a seção mais informações deste artigo).
  • Modificar a instrução INSERT INTO... EXEC para que ele não chama um procedimento armazenado.
  • Fazer não usar chaves primárias ou índices exclusivos para as tabelas que são referenciadas no procedimento armazenado chamado.

Situação

A Microsoft confirmou que este é um problema no SQL Server 6.5.

A Microsoft confirmou que este é um problema no SQL Server 7.0. Esse problema foi corrigido no EUA Service Pack 2 para o Microsoft SQL Server 7.0. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
254561INF: Como obter o Service Pack 2 para Microsoft SQL Server 7.0 e Microsoft Data Engine (MSDE) 1.0
Para obter mais informações, entre em contato com seu provedor de suporte primário.

Mais Informações

SET NO_BROWSETABLE ON é uma opção não documentada executada para conexões Remote Data Service (RDS) ActiveX dados Connector (ADC) com o SQL Server. Ativar essa opção faz com que cada instrução SELECT agir como se FOR BROWSE tinha sido acrescentado à instrução, mas ignora a tabela temporária que normalmente FOR BROWSE canaliza os resultados por meio de. O efeito é adicionar chaves e os carimbos de data/hora para a consulta como colunas de saída oculto para que o cliente pode atualizar linhas específicas (Cursores atualizáveis) sem resposta separado o servidor para pegar os metadados e usando a consulta para obter colunas apropriadas.

A opção NO_BROWSETABLE em habilitada por meio de aplicativos baseados em ADC ou RDS quando eles optar por usar cursores do lado do cliente. O uso de cursores do lado do servidor pode ser uma solução possível para bem nesses casos.

Propriedades

ID do artigo: 275483 - Última revisão: segunda-feira, 24 de fevereiro de 2014 - Revisão: 4.1
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 6.5 Service Pack 3
Palavras-chave: 
kbnosurvey kbarchive kbmt kbbug kbfix kbqfe KB275483 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: 275483

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