CORREÇÃO: Mensagem de erro ao executar um pacote do SQL Server 2005, 2008 de SQL Server ou SQL Server 2008 R2 Integration Services (SSIS) depois de instalar o.NET Framework 2.0 SP2 ou o.NET Framework 3.5 SP1: "ADO NET origem [1424]"

Traduções de Artigos Traduções de Artigos
Artigo: 969845 - Ver produtos para os quais este artigo se aplica.
Microsoft SQL Server de 2005, Microsoft SQL Server de 2008, a Microsoft distribui e correções de Microsoft SQL Server 2008 R2 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e correções de segurança que foram incluídas com o SQL Server 2005, 2008 de Microsoft SQL Server ou SQL Server 2008 R2 anteriores corrigir o lançamento.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário:
  • Você pode executar um pacote de Microsoft SQL Server de 2005, 2008 de Microsoft SQL Server ou SQL Server 2008 R2 Integration Services (SSIS) em um computador que tenha um destes procedimentos.Instalações do NET Framework:
    • A.NET Framework 2.0 Service Pack 2 (SP2)
    • A.NET Framework 3.5 Service Pack 1 (SP1)
  • O pacote do SSIS usa um driver ODBC de terceiros que importa dados de caracteres.
No entanto, quando você executa o pacote do SSIS, você recebe as seguintes mensagens de erro:
[ADO NET origem [1424]] Erro: Código de erro do SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. "Componente"ADO NET origem"(1424)" falhou porque o código de erro 0x80131937 ocorreu e o descarte de linha do erro em "("columnname"de coluna de saídaNúmero) "Especifica a falha em erro. Ocorreu um erro no objeto especificado do componente especificado. Pode haver mensagens de erro lançadas antes isso com mais informações sobre a falha.

Erro 0xc0209029: Tarefa de fluxo de dados: "Componente"Para o NomeComponente"(1)" falhou porque o código de erro 0x80131937 ocorreu...

[ADO NET origem [1424]] Erro: O componente "ADO NET origem" (1424) conseguiu processar os dados. Componente de pipeline retornou o código de erro HRESULT 0xC0209029 de uma chamada de método.

[SSIS.Erro de pipeline]: DTS_E_PRIMEOUTPUTFAILED de código de erro do SSIS. O método PrimeOutput no código de erro retornado (1424) de "Origem do NET ADO" do componente 0xC02090F5. O componente retornou um código de falha quando o mecanismo de pipeline chamado PrimeOutput(). O significado do código de falha é definido pelo componente, mas o erro for fatal e o pipeline interrompido em execução. Pode haver mensagens de erro lançadas antes isso com mais informações sobre a falha.
Esse problema afeta os drivers ODBC que são acessados pelo provedor ODBC gerenciado quando as seguintes condições forem verdadeiras:
  • O ExecuteReader função é chamada pela CommandBehavior. SequentialAccess parâmetro. Essa chamada e o parâmetro são usados nas seguintes circunstâncias:
    • Quando um pacote do SSIS do SQL Server 2005 lê os dados de uma fonte de DataReader ou quando um pacote do SSIS de 2008 SQL Server lê dados de um provedor do ADO.Fonte de dados de rede.
    • A fonte de dados não está configurada para redirecionar os valores de erro e o truncamento.
  • O OdbcDataReader.IsDbNull a função é chamada. O pacote do SSIS usa esse método para determinar se o valor em um campo é nulo ou não.
  • Uma das seguintes funções é chamada:
    • O OdbcDataReader.GetBytes função é chamada para obter certos tipos de dados, como, por exemplo, DT_BYTES, do provedor ODBC gerenciado.
    • O OdbcDataReader.GetChars função é chamada para obter determinada seqüência de tipos de dados, tais como DT_WSTR, do provedor gerenciado ODBC.

Causa

A.NET Framework 2.0 SP2 e o.NET Framework 3.5 SP1 introduzir uma alteração no provedor ODBC gerenciado pelo qual as seqüências de caracteres são lidos no driver ODBC nativo na situação descrita na seção "Sintomas". Devido essa alteração, o provedor ODBC gerenciado que é chamado no driver ODBC nativo, usando o SQLGetData Função de API utiliza um buffer de tamanho 0. Compatível com drivers ODBC não possuem problemas esta chamada. No entanto, os drivers ODBC não compatíveis podem falhar nessas circunstâncias. Para obter um driver ODBC compatível, o SQLGetData Função de API retorna SUCCESS_WITH_INFO quando um buffer de tamanho 0 é detectado. Para obter um driver ODBC não compatível, a chamada retorna NO_DATA.

Resolução

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se apenas a corrigir o problema descrito neste artigo. Aplica este hotfix somente aos sistemas que apresentarem esse problema específico. Este hotfix pode receber testes adicionais. Portanto, se esse problema não o prejudicar, 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 de "Download de Hotfix disponível" na parte superior deste artigo do Knowledge Base. Se não aparecer nesta seção, entre em contato com o suporte e atendimento ao cliente Microsoft para obter o hotfix.

Observação Se ocorrerem problemas adicionais, ou se for necessária a qualquer solução de problemas, você talvez precise criar uma solicitação de serviço. Os custos de suporte normais serão aplicados a questões de suporte adicional e problemas que não sejam específicos deste hotfix. Para uma lista completa dos números de telefone de suporte e atendimento ao cliente da Microsoft ou para criar uma solicitação de serviço, visite o seguinte site da Microsoft:
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.NET Framework 2.0 Service Pack 2 instalado.

Informações sobre a reinicialização

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

Informações do registro

Você não precisará alterar o registro.

Informações de arquivo do hotfix

Esse hotfix contém apenas os arquivos que são necessárias para corrigir os problemas que este artigo lista. Este hotfix pode não conter 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 apresenta os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas destes arquivos estão listadas no tempo Universal Coordenado (UTC). Quando você visualiza as informações do arquivo, ele será convertido para a hora local. Para saber a diferença entre o UTC e a hora local, use o Fuso horário Guia de Data e hora item no painel de controle.
.NET Framework 2.0 para Windows 2000, Windows Server 2003, Windows XP, versões de 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
System.Data.dll2.0.50727.40632,933,76019-05: 08.x86
.NET Framework 2.0 para Windows 2000, Windows Server 2003, Windows XP, versões x64
Reduzir esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
System.Data.dll2.0.50727.40633,008,51218-23: 51x64
System.Data.dll2.0.50727.40632,933,76019-05: 08.x86
.NET Framework 2.0 para Windows 2000, Windows Server 2003, versões do Windows XP, IA-64
Reduzir esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
System.Data.dll2.0.50727.40632,933,76019-05: 08.x86
System.Data.dll2.0.50727.40633,234,81619-01: 09IA-64.
.NET Framework 2.0 para as versões de 32 bits do Windows Vista, Windows Server 2008,
Reduzir esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempo
System.Data.dll2.0.50727.44002,933,76010-Set-200911: 54
.NET Framework 2.0 para Windows Vista, Windows Server 2008, versões x64
Reduzir esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempo
System.Data.dll2.0.50727.44003,008,51210-Set-200911: 54
.NET Framework 2.0 para Windows Vista, Windows Server 2008, versões IA-64
Reduzir esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempo
System.Data.dll2.0.50727.44003,234,81610-Set-200911: 54

Como contornar

Para contornar esse problema, use um dos seguintes métodos.

Método 1

Edite o pacote do SSIS para configurar o redirecionamento de truncamento e erro em origem DataReader ou o provedor do ADO.Fonte de dados de rede. Depois de editar o pacote do SSIS para redirecionar a saída de erro para um destino, o pacote será executado com êxito mesmo que nenhuma linha é escrita para o destino. Para fazer isso, siga estas etapas.

Observação As seguintes etapas assumem que você está usando um pacote do SSIS do SQL Server 2005 que lê dados de uma fonte de DataReader.
  1. Abra o pacote do SSIS no SQL Server Business Intelligence Development Studio.
  2. Abrir o Editor avançado para a fonte do DataReader caixa de diálogo no Editor de fluxo de dados.
  3. Clique no Input and Output Properties guia e, em seguida, expanda o Saída do DataReader nó a Entradas e saídas árvore.
  4. Expanda o Colunas de saída nó.
  5. Clique em cada coluna, sob a Colunas de saída nó e, em seguida, examine o Tipo de dados propriedade. Para cada coluna cujos Tipo de dados propriedade é DT_WSTR, DT_NTEXT, DT_BYTES ou DT_IMAGE, edite as duas propriedades a seguintes:
    • Definir o ErrorRowDisposition propriedade para RD_RedirectRow.
    • Conjunto TruncationRowDisposition propriedade para RD_RedirectRow.
  6. Clique em OK Para salvar as alterações.
  7. No designer de fluxo de dados, adicione um novo destino. Por exemplo, adicione um destino de arquivo simples ou um destino de SQL Server.
  8. Use a seta vermelha da origem DataReader para conectá-lo para o destino recém-adicionado. Esta operação direcionará as linhas de erro e as linhas de truncamento para o destino para salvar as linhas do erro.
  9. Repita as etapas de 1 a 8 para todas as tarefas de fluxo de dados que colunas de imagem ou seqüência de caracteres de acesso ODBC e que falham com as mensagens de erro mencionadas na seção "Sintomas".

Método 2

Desinstalar o.NET Framework 2.0 SP2 ou o.NET Framework 3.5 SP1. No entanto, recomendamos que você desinstale um service pack porque isso sacrifica a confiabilidade, melhorias nos recursos e otimizações de desempenho que o service pack oferece.

Para restaurar o sistema para o estado em que estava antes de instalar o.NET Framework 2.0 SP2 ou o.NET Framework 3.5 SP1, execute as seguintes etapas:
  1. No painel de controle, clique duas vezes em Adicionar ou remover programas.
  2. Localize o Microsoft.NET Framework 3.5 SP1 e, em seguida, desinstalá-lo.
  3. Localize o Microsoft.NET Framework 3.0 SP2 e, em seguida, desinstalá-lo.
  4. Localize o Microsoft.NET Framework 2.0 SP2 e, em seguida, desinstalá-lo.
  5. Reinstalar a versão original da.NET Framework 3.5. Essa etapa irá reinstalar o.NET Framework 2.0 SP1 e o.NET Framework 3.0 SP1. Para obter o.NET Framework 3.5, visite o seguinte site da Microsoft:
    http://www.microsoft.com/downloads/details.aspx?FamilyId = 333325FD-AE52-4E35-B531-508D977D32A6 & displaylang = en

Método 3

Contate o fornecedor do driver ODBC para terceiros para determinar se o fornecedor tem uma atualização para o driver resolver esse problema.

Ponto Da Situação

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

Propriedades

Artigo: 969845 - Última revisão: 1 de dezembro de 2011 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
Palavras-chave: 
kbautohotfix kbhotfixserver kbsurveynew kbfix kbqfe kbexpertiseadvanced kbmt KB969845 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: 969845

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