PRB: Transferência de dados de origem do Jet 4.0LEDB falha com erro de estouro de Buffer

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

Neste artigo

Sintomas

Quando você importa dados de uma fonte de dados OLEDB do Jet 4. 0 usando DTS (Data Transformation Services) e o Microsoft OLE DB provider for Jet, a tarefa de bomba de dados pode falhar com essa mensagem de erro:
"Erro na fonte de linha número 9. erros encontrados até agora nesta tarefa: 1"
Erro geral:-2147217887(80040E21)
Dados para a coluna de origem 3('Col3') não muito grandes para o tamanho do buffer especificado.
Se a fonte tem campos com mais de 255 caracteres, os dados de destino para esses campos podem ser truncados para 255 caracteres. DTS falhar na primeira linha que tem um campo com mais de 255 caracteres. Para verificar isso, procure o número da linha que exibe a mensagem de erro.

Causa

O provedor Jet OLE DB lê uma chave do registro para determinar quantas linhas devem ser lidos para detectar o tipo de coluna de origem. A configuração do registro é:

HKLM\Software\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows

Por padrão, o valor para essa chave é 8. Portanto, o provedor verifica as 8 primeiros linhas dos dados de origem para determinar os tipos de dados para as colunas. Se qualquer campo de aparência do texto e o comprimento dos dados são mais de 255 caracteres, a coluna é digitada como um campo de memorando. Portanto, se não houver nenhum dado com comprimento maior que 255 caracteres nas 8 primeiros linhas da origem, o Jet não pode determinar com precisão a natureza do tipo de dados.

Como Contornar

ImportanteEsta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, podem ocorrer sérios problemas se você modificar o registro incorretamente. Portanto, certifique-se de que você siga estas etapas cuidadosamente. Para maior proteção, faça backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756Como fazer backup e restaurar o registro no Windows

Para alterar o valor deRegisto TypeGuessRows, use estas etapas:
  1. Sobre oIniciarmenu, clique emExecutar. NoExecutarcaixa de diálogo, digiteRegedt32e, em seguida, clique emOK.
  2. Abra a seguinte chave no editor do registro:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

    ObservaçãoPara sistemas de 64 bits, a chave correspondente é o seguinte:

    HKLM\SOFTWARE\wow6432node\microsoft\jet\4.0\Engines\Excel
  3. Clique duas vezes emRegisto TypeGuessRows.
  4. NoEditor DWORDcaixa de diálogo, clique emDecimalemBase. Digite um valor entre 0 e 16, inclusive, paraValordados.
  5. Clique emOKe saia do Editor do registro.
Uma segunda maneira de contornar esse problema (sem modificação do registro) é tornar-se de que as linhas com campos, que possuem dados 255 caracteres ou maior, estão presente nos primeiros 8 linhas do arquivo de dados de origem.

Mais Informações

O intervalo válido de valores para oRegisto TypeGuessRowsa chave é de 0 a 16. No entanto, se o valor for 0, o número de linhas de origem verificados é 16384. Tenha em mente que um valor zero pode causar um pequeno impacto no desempenho se o arquivo de origem é muito grande.

Passos para reproduzir o problema

  1. Abra uma nova pasta de trabalho do Microsoft Excel e criar uma folha com três colunas e 11 linhas e incluir a primeira linha com nomes de coluna.
  2. Inserir dados em células para que os primeiros 8 linhas tenham dados menos de 255 caracteres de comprimento.
  3. Inserir dados maior que 255 caracteres em linhas 10 e 11. Salve esta folha como ExcelSource.xls.
  4. Abra o SQL Server Enterprise Manager e expanda o nome do servidor. Com o botão direitoServiços de transformação de dadose, em seguida, clique emImportar dados.
  5. Para a fonte, selecione o provedor do Excel 97-2000 e fornecer o nome da planilha do Excel que você salvou anteriores (ExcelSource.xls).
  6. Para selecionar o destinoProvedor Microsoft OLEDB para SQLe, em seguida, selecione o banco de dados de destino.
  7. Clique emCopiar tabelas e modos de exibição da fonte de BDe, em seguida, clique emAvançar.
  8. NoSelecionar tabelas de origemClique em caixa de diálogo, selecione Sheet1$,Avançar, e, em seguida, execute o pacote imediatamente. A execução do pacote falha com a mensagem de erro mostrada na seção "Sintomas".

  9. Solte a tabela Sheet1$ do banco de dados de destino usando o comandoDescartar tabela Sheet1$.
  10. Siga a resolução na seção "Solução" e faça a alteração na chave do registro paraRegisto TypeGuessRows.
  11. Agora, repita as etapas 4 a 8. Esse tempo de execução do pacote é bem-sucedida.

REFERÊNCIAS

Para obter informações adicionais sobre esse comportamento específico para o Microsoft Excel, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
189897XL97: Dados truncados para 255 caracteres com o Driver ODBC do Excel

Propriedades

ID do artigo: 281517 - Última revisão: sábado, 5 de fevereiro de 2011 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbjet kbprb kbmt KB281517 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: 281517

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