Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro em "Inserir Destino' - Carga da Fato 001

Boa noite,

No vídeo 'Carga da Fato 001', o instrutor orienta passo a passo a inserir os dados de uma tabela para a outra, porém me foi apresentado um erro, e não sei o que fazer. Gostaria da ajuda dele para que eu consiga efetuar 100% do curso.

Depuração do processo:

Inicialização do pacote SSIS "C:\Users\K\Documents\Projeto\DatawarehouseSucosNew\CargaDatawarehouse\CargaFato.dtsx". Informações: 0x4004300A em Tabela Fato001, SSIS.Pipeline: A fase de validação está começando. Informações: 0x4004300A em Tabela Fato001, SSIS.Pipeline: A fase de validação está começando. Aviso: 0x80047076 em Tabela Fato001, SSIS.Pipeline: A coluna de saída "DATA_FATO" (142) na saída "Saída de Origem OLE DB" (141) e componente "FATO001" (130) não é usada subsequentemente na tarefa Fluxo de Dados. A remoção dessa coluna de saída não utilizada pode melhorar o desempenho da tarefa Fluxo de Dados. Informações: 0x40043006 em Tabela Fato001, SSIS.Pipeline: A fase de Preparação para Execução está começando. Informações: 0x40043007 em Tabela Fato001, SSIS.Pipeline: A fase de Pré-execução está começando. Informações: 0x4004300C em Tabela Fato001, SSIS.Pipeline: A fase de Execução está começando. Erro: 0xC0202009 em Tabela Fato001, Inserir Destino [178]: Código de Erro SSIS DTS_E_OLEDBERROR. Erro OLE DB. Código de erro: 0x80040E2F. Um registro OLE DB está disponível. Origem: "Microsoft SQL Server Native Client 11.0" Resultado: 0x80040E2F Descrição: "A instrução foi finalizada.". Um registro OLE DB está disponível. Origem: "Microsoft SQL Server Native Client 11.0" Resultado: 0x80040E2F Descrição: "A instrução INSERT conflitou com a restrição do FOREIGN KEY "FK_Fato_001_Dim_Cliente". O conflito ocorreu no banco de dados "DW_SUCOS", tabela "dbo.Dim_Cliente", column 'Cod_Cliente'.". Erro: 0xC0209029 em Tabela Fato001, Inserir Destino [178]: Código de Erro SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. Falha de "Inserir Destino.Entradas[Entrada de Destino OLE DB]" devido ao código de erro 0xC020907B e a disposição da linha de erro em "Inserir Destino.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. Erro: 0xC0047022 em Tabela Fato001, SSIS.Pipeline: Código de Erro SSIS DTS_E_PROCESSINPUTFAILED. Falha do método ProcessInput no componente "Inserir Destino" (178) com o código de erro 0xC0209029 durante o processamento da entrada "Entrada de Destino OLE DB" (191). 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. Informações: 0x40043008 em Tabela Fato001, SSIS.Pipeline: A fase Pós-execução está começando. Informações: 0x4004300B em Tabela Fato001, SSIS.Pipeline: "Inserir Destino" gravou 0 linhas. Informações: 0x40043009 em Tabela Fato001, SSIS.Pipeline: A fase de limpeza está começando. Falha na tarefa: Tabela Fato001 Aviso: 0x80019002 em CargaFato: Código de Aviso SSIS DTS_W_MAXIMUMERRORCOUNTREACHED. O método Execution foi bem-sucedido, mas o número de erros aumentou (3) e alcançou o máximo permitido (1); resultando em falha. Isso ocorre quando o número de erros alcança o número especificado em MaximumErrorCount. Altere MaximumErrorCount ou corrija os erros. Pacote SSIS "C:\Users\K\Documents\Projeto\DatawarehouseSucosNew\CargaDatawarehouse\CargaFato.dtsx" concluído: Falha. O programa "[6476] DtsDebugHost.exe: DTS" foi fechado com o código 0 (0x0).

1 resposta
solução!

Solução para o erro caso alguém tenha esse mesmo problema: https://cursos.alura.com.br/forum/topico-erro-ao-executar-carga-fato01-59514 Aula: 05 Vìdeo: 01

No Script de carregamento da dimensão tempo, altere o intervalo de data dessa forma:

DECLARE @AnoInicial VARCHAR(4) = '2013' DECLARE @MesInicial VARCHAR(2) = '1' DECLARE @AnoFinal VARCHAR(4) = '2015' DECLARE @MesFinal VARCHAR(2) = '12'

O intervalo que estava antes era muito curto, por conta disso recebíamos o retorno ao executar o código da aula 06.