1
resposta

Erro ao iniciar a carga Tabela de Fato_001

Olá,

Estou com um problema ao tentar iniciar a execução de Carga da Fato 001 para o DW_Sucos

Esta ocasionando o seguinte erro:

SSIS package "C:\Users\dress\OneDrive\Documentos\Projetos\CargaDatawarehouse\Carga Fatos.dtsx" starting. Information: 0x4004300A at Carga Fato 001, SSIS.Pipeline: Validation phase is beginning. Information: 0x4004300A at Carga Fato 001, SSIS.Pipeline: Validation phase is beginning. Warning: 0x80049304 at Carga Fato 001, SSIS.Pipeline: Warning: Could not open global shared memory to communicate with performance DLL; data flow performance counters are not available. To resolve, run this package as an administrator, or on the system's console. Warning: 0x80047076 at Carga Fato 001, SSIS.Pipeline: The output column "DATA_FATO" (14) on output "Saída de Origem OLE DB" (13) and component "Carga Fato 001" (2) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance. Information: 0x40043006 at Carga Fato 001, SSIS.Pipeline: Prepare for Execute phase is beginning. Information: 0x40043007 at Carga Fato 001, SSIS.Pipeline: Pre-Execute phase is beginning. Information: 0x4004300C at Carga Fato 001, SSIS.Pipeline: Execute phase is beginning. Error: 0xC0202009 at Carga Fato 001, Insert Destination [178]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E2F. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E2F Description: "A instrução foi finalizada.". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E2F Description: "A instrução INSERT conflitou com a restrição do FOREIGN KEY "FK_Fato_001_Dim_Dia". O conflito ocorreu no banco de dados "DW_SUCOS", tabela "dbo.Dim_Tempo", column 'Cod_Dia'.". Error: 0xC0209029 at Carga Fato 001, Insert Destination [178]: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "Insert Destination.Entradas[Entrada de Destino OLE DB]" failed because error code 0xC020907B occurred, and the error row disposition on "Insert Destination.Entradas[Entrada de Destino OLE DB]" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure. Error: 0xC0047022 at Carga Fato 001, SSIS.Pipeline: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Insert Destination" (178) failed with error code 0xC0209029 while processing input "Entrada de Destino OLE DB" (191). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure. Information: 0x40043008 at Carga Fato 001, SSIS.Pipeline: Post Execute phase is beginning. Information: 0x4004300B at Carga Fato 001, SSIS.Pipeline: "Insert Destination" wrote 0 rows. Information: 0x40043009 at Carga Fato 001, SSIS.Pipeline: Cleanup phase is beginning. Task failed: Carga Fato 001 Warning: 0x80019002 at Package1: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (3) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors. SSIS package "C:\Users\dress\OneDrive\Documentos\Projetos\CargaDatawarehouse\Carga Fatos.dtsx" finished: Failure. O programa "[27516] DtsDebugHost.exe: DTS" foi fechado com o código 0 (0x0).

1 resposta

Olá, Andressa, tudo bem?

Como apontamos na atividade logo na sequência da aula em que carregamos a Tabela Fato_001, é possível que o erro possa ter ocorrido por carregarmos datas na Dimensão Tempo que não estão dentro do período das datas da Tab FATO_001.

No exemplo da aula da carga da Dimensão Tempo, o instrutor colocou como parâmetros na consulta o seguinte período:

Ano_Inicial = 2013
Ano_Final  = 2013
Mes_Inicial = 7
Mes_Final = 12

E, no exemplo da Tabela FATO_001, fizemos uma consulta pelo Comando SQL do período de janeiro de 2014 (01/2014 a 01/2014). Para corrigir esse problema podemos seguir 2 caminhos.

  • Ou mudamos os parâmetros do Dim Tempo para conter o período que desejamos puxar na tabela FATO_001, por exemplo:
Parâmetros da Dimensão Tempo:
Ano_Inicial = 2013
Ano_Final  = 2014
Mes_Inicial = 7
Mes_Final = 12

 

  • Ou mudamos os parâmetros da consulta da tabela FATO_001 para o período que estipulamos na Dimensão Tempo, por exemplo:
Consulta via comando do SQL ou Parâmetros da Carga Fato 001:
Ano_Inicial = 2013
Ano_Final  = 2013
Mes_Inicial = 10
Mes_Final = 12

Em qualquer uma das formas precisamos estar atentos ao período de consulta de nossos dados para que possamos executar o código de consulta e realizar a carga com sucesso.

Espero ter ajudado e qualquer dúvida é só chamar!

Forte abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software