Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

A Microsoft distribui o Microsoft SQL Server 2005, Microsoft SQL Server 2008 e Microsoft SQL Server 2008 R2 corrige como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2005, Microsoft SQL Server 2008 ou SQL Server 2008 R2 anteriores corrigir lançamento.

Sintomas

Considere o seguinte cenário:

  • Executar um pacote do Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou SQL Server 2008 R2 Integration Services (SSIS) em um computador que tenha uma das seguintes instalações do.NET Framework:

    • O.NET Framework 2.0 Service Pack 2 (SP2)

    • O.NET Framework 3.5 Service Pack 1 (SP1)

  • O pacote do SSIS usa um driver ODBC de outros fabricantes 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 SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. O "componente"ADO NET origem"(1424)" falhou porque ocorreu o código de erro 0x80131937 e a disposição de linha do erro na "coluna de saída"columnname"(número)" Especifica falha com erro. Ocorreu um erro no objeto especificado do componente especificado. Pode haver mensagens de erro lançadas antes disso com mais informações sobre a falha.

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

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

[SSIS. Erro de pipeline]: código de erro DTS_E_PRIMEOUTPUTFAILED do SSIS. O método PrimeOutput no código de erro retornado (1424) 0xC02090F5 do componente "ADO NET origem". 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 é fatal e o pipeline parou de executar. Pode haver mensagens de erro lançadas antes disso com mais informações sobre a falha.

Esse problema afeta os drivers do ODBC que são acessados pelo provedor ODBC gerenciado quando as seguintes condições forem verdadeiras:

  • A função ExecuteReader é chamada pelo parâmetro CommandBehavior . Essa chamada e parâmetro são usadas nas seguintes circunstâncias:

    • Quando um pacote de SSIS do SQL Server 2005 lê dados de uma fonte de DataReader ou um pacote de SSIS do SQL Server 2008 lê dados de uma fonte de dados ADO.NET gerenciada.

    • A fonte de dados não está configurada para redirecionar os valores de erro e o truncamento.

  • A função OdbcDataReader.IsDbNull é chamada. O pacote do SSIS usa esse método para determinar se o valor de um campo é NULL ou não.

  • Uma das funções a seguir é chamada de:

    • A função OdbcDataReader.GetBytes é chamada para obter certos tipos de dados, como DT_BYTES, do provedor gerenciado do ODBC.

    • A função OdbcDataReader.GetChars é chamada para obter certos tipos de dados de sequência de caracteres, como DT_WSTR, do provedor gerenciado do ODBC.

Causa

O.NET Framework 2.0 SP2 e o.NET Framework 3.5 SP1 introduzem uma alteração no provedor ODBC gerenciado pela qual sequências de caracteres são lidos do driver ODBC nativo no cenário descrito na seção "Sintomas". Devido a essa alteração, o provedor gerenciado do ODBC que é chamado no driver ODBC nativo usando a função de API SQLGetData usa um buffer de tamanho 0. Compatível com drivers ODBC não tem problemas na chamada. No entanto, os drivers ODBC podem falhar sob essas circunstâncias. Para um driver de ODBC compatível com a função SQLGetData API retorna SUCCESS_WITH_INFO quando um buffer de tamanho 0 é detectado. Um driver de ODBC não compatíveis, 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 a corrigir somente o problema descrito neste artigo. Aplique este hotfix somente aos sistemas que apresentarem esse problema específico. Esta correção poderá ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde a próxima atualização de software que contenha esse hotfix.

Se o hotfix estiver disponível para download, há uma seção "Download de Hotfix disponível" na parte superior deste artigo da Base de Conhecimento. Se essa seção não for exibida, entre em contato com o suporte e atendimento ao cliente Microsoft para obter o hotfix.

Observação: caso outros problemas estejam ocorrendo ou caso qualquer solução de problemas seja necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não sejam específicos deste hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e suporte ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:

http://support.microsoft.com/contactus/?ws=supportObservação: o formulário "Baixar Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Caso você não veja seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos:

Você deve ter o.NET Framework 2.0 Service Pack 2 instalado.

Informações sobre reinicialização

Você não precisa reiniciar o computador após aplicar esse hotfix.

Informações do registro:

Você não precisa alterar o registro.

Informações do arquivo de hotfix

Esse hotfix contém apenas os arquivos necessários para corrigir os problemas listados no artigo. Este hotfix pode não conter todos os arquivos que necessita para actualizar completamente um produto para a compilação mais recente. Versão do inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na Hora Universal Coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para localizar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.

.NET Framework 2.0 para Windows 2000, Windows Server 2003, Windows XP, versões 32 bits

Nome do Arquivo

Versão do arquivo

Tamanho do arquivo

Data

Hora

Plataforma

System.data.dll

2.0.50727.4063

2,933,760

19-

05:08

x86

.NET Framework 2.0 para Windows 2000, Windows Server 2003, Windows XP, x64 versões

Nome do Arquivo

Versão do arquivo

Tamanho do arquivo

Data

Hora

Plataforma

System.data.dll

2.0.50727.4063

3,008,512

18-

23:51

x64

System.data.dll

2.0.50727.4063

2,933,760

19-

05:08

x86

.NET Framework 2.0 para Windows 2000, Windows Server 2003, versões de Windows XP, IA-64

Nome do Arquivo

Versão do arquivo

Tamanho do arquivo

Data

Hora

Plataforma

System.data.dll

2.0.50727.4063

2,933,760

19-

05:08

x86

System.data.dll

2.0.50727.4063

3,234,816

19-

01:09

IA-64

.NET Framework 2.0 para versões de 32 bits do Windows Vista, Windows Server 2008

Nome do Arquivo

Versão do arquivo

Tamanho do arquivo

Data

Hora

System.data.dll

2.0.50727.4400

2,933,760

10-Sep-2009

11:54

.NET Framework 2.0 para Windows Vista, Windows Server 2008 x64 versões

Nome do Arquivo

Versão do arquivo

Tamanho do arquivo

Data

Hora

System.data.dll

2.0.50727.4400

3,008,512

10-Sep-2009

11:54

.NET Framework 2.0 para Windows Vista, Windows Server 2008, versões IA-64

Nome do Arquivo

Versão do arquivo

Tamanho do arquivo

Data

Hora

System.data.dll

2.0.50727.4400

3,234,816

10-Sep-2009

11:54

Solução alternativa

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 na fonte de DataReader ou na fonte de dados gerenciada do ADO.NET. 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 é gravada para o destino. Para fazer isso, execute as seguintes etapas:

Observação: As etapas a seguir pressupõem que você esteja usando um pacote de 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. Abra a caixa de diálogo Editor Avançado para DataReader fonte no designer de fluxo de dados.

  3. Clique na guia Propriedades de saída e de entrada e, em seguida, expanda o nó de Saída DataReader na árvore de entradas e saídas .

  4. Expanda o nó de Colunas de saída .

  5. Clique em cada coluna sob o nó de Colunas de saída e, em seguida, examine a propriedade DataType . Para cada coluna cuja propriedade de tipo de dados DT_WSTR, DT_NTEXT, DT_BYTES ou DT_IMAGE, edite as duas propriedades seguintes:

    • Defina a propriedade ErrorRowDisposition como RD_RedirectRow.

    • Defina a propriedade de TruncationRowDisposition para RD_RedirectRow.

  6. Clique em OK para salvar as alterações.

  7. No Editor de fluxo de dados, adicione um novo destino. Por exemplo, adicione um destino de arquivo simples ou um destino do SQL Server.

  8. Use a seta vermelha da origem DataReader para conectá-lo ao destino recém-adicionado. Esta operação levará as linhas de erro e linhas de truncamento ao destino para salvar as linhas de erro.

  9. Repita as etapas 1 a 8 para todas as tarefas de fluxo de dados falha de acesso ODBC colunas de imagem ou de sequência de caracteres e que com as mensagens de erro mencionadas na seção "Sintomas".

Método 2

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



Para restaurar o sistema ao estado em que se encontrava antes da instalação do.NET Framework 2.0 SP2 ou o.NET Framework 3.5 SP1, execute estas etapas:

  1. No Painel de Controle, clique duas vezes em Adicionar ou remover programas.

  2. Localize o Microsoft.NET Framework 3.5 SP1 e desinstalá-lo.

  3. Localize o Microsoft.NET Framework 3.0 SP2 e desinstalá-lo.

  4. Localize o Microsoft.NET Framework 2.0 SP2 e desinstalá-lo.

  5. Reinstale a versão original do.NET Framework 3.5. Esta 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 de driver resolver esse problema.

Status

A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×