Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

ERRO NA CARGA TABELA DE FATO 001

Está dando problema para inserir os dados na tabela Fato 001, especificamente por conta de conflito com a FK que existe com o Cod_Cliente da tabela Dim_Clientes.

Já pesquisei aqui no fórum e vi que o problema não está relacionado a instrução SQL na carga da Dim_Tempo, porque o período abrange o da Carga Fato 001.

Quem puder me ajudar, agradeço! Quero continuar o curso.

Segue log do erro.

Inicialização do pacote SSIS "C:\Users\T-Gamer\Documents\Databases\DatawarehouseSucos\CargaDatawarehouse\CargaFatos.dtsx". Informações: 0x4004300A em Carga Fato 001, SSIS.Pipeline: A fase de validação está começando. Informações: 0x4004300A em Carga Fato 001, SSIS.Pipeline: A fase de validação está começando. Aviso: 0x80049304 em Carga Fato 001, SSIS.Pipeline: Aviso: não foi possível abrir a memória global compartilhada para comunicação com a DLL de desempenho; os contadores de desempenho de fluxo de dados não estão disponíveis. Para resolver, execute este pacote como administrador ou no console do sistema. Aviso: 0x80047076 em Carga Fato 001, SSIS.Pipeline: A coluna de saída "DATA_FATO" (24) na saída "Saída de Origem OLE DB" (13) e componente "Carga Fato 001" (2) 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 Carga Fato 001, SSIS.Pipeline: A fase de Preparação para Execução está começando. Informações: 0x40043007 em Carga Fato 001, SSIS.Pipeline: A fase de Pré-execução está começando. Informações: 0x4004300C em Carga Fato 001, SSIS.Pipeline: A fase de Execução está começando. Erro: 0xC0202009 em Carga Fato 001, 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 Carga Fato 001, 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 Carga Fato 001, 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 Carga Fato 001, SSIS.Pipeline: A fase Pós-execução está começando. Informações: 0x4004300B em Carga Fato 001, SSIS.Pipeline: "Inserir Destino" gravou 0 linhas. Informações: 0x40043009 em Carga Fato 001, SSIS.Pipeline: A fase de limpeza está começando. Falha na tarefa: Carga Fato 001 Aviso: 0x80019002 em Package1: 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\T-Gamer\Documents\Databases\DatawarehouseSucos\CargaDatawarehouse\CargaFatos.dtsx" concluído: Falha. O programa "[21584] DtsDebugHost.exe: DTS" foi fechado com o código 0 (0x0).

2 respostas

Usando o visualizador de dados observa-se que a consulta está certa, com os dados de janeiro/2014, mas na hora de gravar na tabela Fato 001 ocorre o erro.

Usando o visualizador de dados observa-se que a consulta está certa, com os dados de janeiro/2014, mas na hora de gravar na tabela Fato 001 ocorre o erro

solução!

Problema resolvido.

Faltaram importar 2 registros de clientes da Bahia, que na tabela do excel a UF estava como BH, sendo que UF da Bahia é BA. Então eu corrigi no CSV, mas não havia corrigido na tabela Clientes do excel.

Quando carregou Dim_Clientes, faltaram esses dois registros. Por isso dava erro quando tentava carregar Fato 001, visto que não existiam esses dois clientes cadastrados.