1
resposta

ERROS ao executar a tarefa Carga de dados de clientes

deu o seguinte erros a baixo, ja inclusive alterei a coluna no DW para aceitar valores nulos e mesm oassim nao vai

[Destino OLE DB [209]] Erro: Código de Erro SSIS DTS_E_OLEDBERROR. Erro OLE DB. Código de erro: 0x80004005. Um registro OLE DB está disponível. Origem: "Microsoft OLE DB Driver for SQL Server" Resultado: 0x80004005 Descrição: "A instrução foi finalizada.". Um registro OLE DB está disponível. Origem: "Microsoft OLE DB Driver for SQL Server" Resultado: 0x80004005 Descrição: "Não é possível inserir o valor NULL na coluna 'cod_regiao', tabela 'ATACADEZ.dbo.dim_cliente'; a coluna não permite nulos. Falha em INSERT.".

[Destino OLE DB [209]] Erro: Código de Erro SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. Falha de "Destino OLE DB.Entradas[Entrada de Destino OLE DB]" devido ao código de erro 0xC020907B e a disposição da linha de erro em "Destino OLE DB.Entradas[Entrada de Destino OLE DB]" especifica falha no erro. Ocorreu um erro no objeto especificado do componente especificado. Mensagens de erro podem ter sido postadas antes com mais informações sobre a falha.

[SSIS.Pipeline] Erro: Código de Erro SSIS DTS_E_PROCESSINPUTFAILED. Falha do método ProcessInput no componente "Destino OLE DB" (209) com o código de erro 0xC0209029 durante o processamento da entrada "Entrada de Destino OLE DB" (222). O componente identificado retornou um erro do método ProcessInput. Esse erro é específico do componente, mas é fatal e fará com que a execução da tarefa de Fluxo de Dados seja interrompida. Mensagens de erro podem ter sido postadas antes dessa com mais informações sobre a falha.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Boa tarde! Tive o mesmo erro, e o que utilizei foram essas dicas que o Copilot me passou.

Esse erro ocorre porque a coluna cod_regiao na tabela dim_cliente não permite valores nulos, e o SSIS está tentando inserir um valor nulo nessa coluna. Aqui estão alguns passos para resolver esse problema:

Verifique os Dados de Entrada: Certifique-se de que todos os registros que estão sendo inseridos na tabela dim_cliente possuem um valor válido para a coluna cod_regiao.

Defina um Valor Padrão: Se for aceitável, você pode definir um valor padrão para a coluna cod_regiao na tabela dim_cliente no SQL Server. Isso pode ser feito com o seguinte comando SQL:

SQL ALTER TABLE dim_cliente ADD CONSTRAINT DF_cod_regiao DEFAULT 0 FOR cod_regiao;

Transformação de Dados no SSIS: Adicione uma transformação no seu pacote SSIS para substituir valores nulos por um valor padrão antes de inserir os dados na tabela. Você pode usar a transformação Derived Column para isso.

Verifique as Configurações de Conexão: Certifique-se de que a conexão OLE DB está configurada corretamente e que não há problemas de conectividade.

Revisão do Mapeamento de Colunas: Verifique se o mapeamento de colunas entre a fonte de dados e o destino está correto e que todas as colunas obrigatórias estão sendo preenchidas.