9
respostas

Erro a fazer a Carga da Fato 001

SSIS package "C:\Users\caio.paschoal\OneDrive - Certisign Certificadora Digital SA\Estudos\Projetos\DatawarehouseSucos\CargaDatawarehouse\CargaFatos.dtsx" starting. Information: 0x4004300A at Carga Fat001, SSIS.Pipeline: Validation phase is beginning. Information: 0x4004300A at Carga Fat001, SSIS.Pipeline: Validation phase is beginning. Warning: 0x80049304 at Carga Fat001, 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 Fat001, SSIS.Pipeline: The output column "DATA_FATO" (179) on output "Saída de Origem OLE DB" (178) and component "Origem OLE DB" (167) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance. Information: 0x40043006 at Carga Fat001, SSIS.Pipeline: Prepare for Execute phase is beginning. Information: 0x40043007 at Carga Fat001, SSIS.Pipeline: Pre-Execute phase is beginning. Information: 0x4004300C at Carga Fat001, SSIS.Pipeline: Execute phase is beginning. Information: 0x4004800C at Carga Fat001, SSIS.Pipeline: The buffer manager detected that the system was low on virtual memory, but was unable to swap out any buffers. 2 buffers were considered and 2 were locked. Either not enough memory is available to the pipeline because not enough is installed, other processes are using it, or too many buffers are locked. Information: 0x4004800F at Carga Fat001: Buffer manager allocated 6 megabyte(s) in 1 physical buffer(s). Information: 0x40048010 at Carga Fat001: Component "Origem OLE DB" (167) owns 6 megabyte(s) physical buffer. Error: 0x80004005 at Carga Fat001, SSIS.Pipeline: Erro não especificado Information: 0x40043008 at Carga Fat001, SSIS.Pipeline: Post Execute phase is beginning. Information: 0x4004300B at Carga Fat001, SSIS.Pipeline: "Insert Destination" wrote 0 rows. Information: 0x40043009 at Carga Fat001, SSIS.Pipeline: Cleanup phase is beginning. Task failed: Carga Fat001 Warning: 0x80019002 at Package1: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (1) 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\caio.paschoal\OneDrive - Certisign Certificadora Digital SA\Estudos\Projetos\DatawarehouseSucos\CargaDatawarehouse\CargaFatos.dtsx" finished: Failure. O programa "[15692] DtsDebugHost.exe: DTS" foi fechado com o código 0 (0x0).

9 respostas

Olá, Caio, 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!

Tentei mudar os parâmetros do Dim Tempo e mudar e os parâmetros da consulta mesmo assim continua aparecendo o erro abaixo.

SSIS package "C:\Users\caio.paschoal\OneDrive - Certisign Certificadora Digital SA\Estudos\Projetos\DatawarehouseSucos\CargaDatawarehouse\CargaFatos.dtsx" starting. Information: 0x4004300A at Carga Fat001, SSIS.Pipeline: Validation phase is beginning. Information: 0x4004300A at Carga Fat001, SSIS.Pipeline: Validation phase is beginning. Warning: 0x80049304 at Carga Fat001, 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 Fat001, SSIS.Pipeline: The output column "DATA_FATO" (179) on output "Saída de Origem OLE DB" (178) and component "Origem OLE DB" (167) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance. Information: 0x40043006 at Carga Fat001, SSIS.Pipeline: Prepare for Execute phase is beginning. Information: 0x40043007 at Carga Fat001, SSIS.Pipeline: Pre-Execute phase is beginning. Information: 0x4004300C at Carga Fat001, SSIS.Pipeline: Execute phase is beginning. Error: 0xC0202009 at Carga Fat001, Insert Destination [130]: 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_Tempo". O conflito ocorreu no banco de dados "DW_SUCOS2", tabela "dbo.Dim_Tempo", column 'Cod_Dia'.". Error: 0xC0209029 at Carga Fat001, Insert Destination [130]: 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 Fat001, SSIS.Pipeline: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Insert Destination" (130) failed with error code 0xC0209029 while processing input "Entrada de Destino OLE DB" (143). 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 Fat001, SSIS.Pipeline: Post Execute phase is beginning. Information: 0x4004300B at Carga Fat001, SSIS.Pipeline: "Insert Destination" wrote 0 rows. Information: 0x40043009 at Carga Fat001, SSIS.Pipeline: Cleanup phase is beginning. Task failed: Carga Fat001 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\caio.paschoal\OneDrive - Certisign Certificadora Digital SA\Estudos\Projetos\DatawarehouseSucos\CargaDatawarehouse\CargaFatos.dtsx" finished: Failure. O programa "[12384] DtsDebugHost.exe: DTS" foi fechado com o código 0 (0x0).

Olá, Caio!

Você conseguiria me enviar uma imagem de como você criou as tabelas Dim_Tempo e Fato_001? Elas ficam na aba tabelas do DatawarehouseSucos na lateral direita do Visual Studio como você pode notar na imagem abaixo. As 2 imagens logo depois mostram como as minhas tabelas foram criadas.

Localização das Tabelas Dim_Tempo e Fato_001:

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

 

Tabela Dim_Tempo:

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

 

Tabela Fato_001:

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

 

Outra pergunta também seria: Percebi que está usando um Banco de Dados chamado DW_SUCOS2. Você notou se a conexão que fez no Data Flow do Carga Fat001 na Dimensão de Alteração Lenta foi com o banco de dados que você criou anteriormente? Se puder mandar um outra imagem de como está o Connection Manager e o Mappings da opção Inserir Destino (ou Insert Destination) no Data Flow do Carga Fat001 no CargaFatos.dtsx acho que poderia me auxiliar a tentar verificar o que pode estar ocorrendo. Vou deixar um exemplo de como aparece aqui no meu, para te dar uma ideia de onde você tiraria o print.

OLE DB Destination Editor - Connection Manager no Carga Fat001

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

 

OLE DB Destination Editor - Mappings no Carga Fat001:

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

 

Fico no aguardo!

Forte abraço!

Olá Afonso, seguem as imagens. Tabela Dim_Tempo: Insira aqui a descrição dessa imagem para ajudar na acessibilidade ** Tabela Fato_001:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Tive que reinstalar os programa para versões mais antigas para fazer os exercícios, nesse processo comecei a ter problemas para com o antigo banco de dados ai criei o DW_SUCOS2.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEssa terceira é para mostrar sobre a Dim_Organizacional está relacionada ao Cod_Filho. Insira aqui a descrição dessa imagem para ajudar na acessibilidade Muito obrigado pelo apoio, abraço!

Caio, verificando aqui as imagens eu estou ainda acreditando que o erro está na parametrização do tempo. Aparentemente está tudo em ordem com o que você me enviou.

Gostaria que você me descrevesse mais 2 coisas, só para eu tentar observar se o erro pode estar vindo de lá:

  1. Primeiro, na carga da Dimensão Tempo (na 2ª imagem) em seu comando SQL o trecho da declaração de tempo está com a presença da "?" relacionada aos parâmetros da aba Parameters da CargaDimensoes.dtsx ?
DECLARE @AnoInicial VARCHAR(4) = ?
DECLARE @MesInicial VARCHAR(2) = ?
DECLARE @AnoFinal VARCHAR(4) = ?
DECLARE @MesFinal VARCHAR(2) = ?

No meu caso, eu testei os parâmetros do Dim_Tempo com o seguinte período:

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

 

E parametrizei da seguinte forma:

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

 

  1. E, segundo, na carga da Fato001 (na4ª imagem) em seu comando SQL, o trecho da declaração de tempo está também com a "?" relacionada aos parâmetros da aba Parameters da CargaFatos.dtsx ?
SELECT * FROM TAB_FATO001
WHERE YEAR(DATA_FATO) >= ?
AND MONTH(DATA_FATO) >= ?
AND YEAR(DATA_FATO) <= ?
AND MONTH(DATA_FATO) <= ?

No meu caso, eu testei os parâmetros da Fato_001 com o seguinte período:

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

 

E parametrizei da seguinte forma em Carga Fato001: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

 

Vamos testar se o erro pode estar vindo daqui. Torcendo para que dê tudo certo!

Fico no aguardo!

Fiz de acordo com oque você mandou, só alterei a data, mas com a mesma parametrização, continua dando erro.

  1. Primeira parte Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade
  2. Segunda parte Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade
  3. Erro SSIS package "C:\Users\caio.paschoal\OneDrive - Certisign Certificadora Digital SA\Estudos\Projetos\DatawarehouseSucos\CargaDatawarehouse\CargaFatos.dtsx" starting. Information: 0x4004300A at Carga Fat001, SSIS.Pipeline: Validation phase is beginning. Information: 0x4004300A at Carga Fat001, SSIS.Pipeline: Validation phase is beginning. Warning: 0x80049304 at Carga Fat001, 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 Fat001, SSIS.Pipeline: The output column "DATA_FATO" (179) on output "Saída de Origem OLE DB" (178) and component "Origem OLE DB" (167) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance. Information: 0x40043006 at Carga Fat001, SSIS.Pipeline: Prepare for Execute phase is beginning. Information: 0x40043007 at Carga Fat001, SSIS.Pipeline: Pre-Execute phase is beginning. Information: 0x4004300C at Carga Fat001, SSIS.Pipeline: Execute phase is beginning. Error: 0xC0202009 at Carga Fat001, Insert Destination [130]: 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_Tempo". O conflito ocorreu no banco de dados "DW_SUCOS2", tabela "dbo.Dim_Tempo", column 'Cod_Dia'.". Error: 0xC0209029 at Carga Fat001, Insert Destination [130]: 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 Fat001, SSIS.Pipeline: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Insert Destination" (130) failed with error code 0xC0209029 while processing input "Entrada de Destino OLE DB" (143). 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 Fat001, SSIS.Pipeline: Post Execute phase is beginning. Information: 0x4004300B at Carga Fat001, SSIS.Pipeline: "Insert Destination" wrote 0 rows. Information: 0x40043009 at Carga Fat001, SSIS.Pipeline: Cleanup phase is beginning. Task failed: Carga Fat001 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\caio.paschoal\OneDrive - Certisign Certificadora Digital SA\Estudos\Projetos\DatawarehouseSucos\CargaDatawarehouse\CargaFatos.dtsx" finished: Failure. O programa "[14764] DtsDebugHost.exe: DTS" foi fechado com o código 0 (0x0).

Caio, desculpa a demora, mas vamos conseguir resolver isso aqui...

Eu estou achando muito estranho esse erro "A instrução INSERT conflitou com a restrição do FOREIGN KEY "FK_Fato_001_Dim_Tempo". O conflito ocorreu no banco de dados "DW_SUCOS2", tabela "dbo.Dim_Tempo", column 'Cod_Dia'."

Parece que ele está tentando inserir um registro na tabela fato que não existe na tabela de dimensão.

Vamos olhar no Microsoft SQL Server Management Studio essa nossa dimensão Dim_Tempo?

Faz o mesmo que fiz aqui para gente testar isso?

Consultando as 1000 linhas superiores para verificar os dados carregados em Dim_Tempo:

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

 

Verificando os script de seleção dos dados e as colunas existentes na Dim_Tempo:

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

 

Verificando se os dados de todas as colunas existentes na Dim_Tempo foram carregados:

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

 

Outra questão seria vamos tentar realizar a carga da dimensão tempo completa de 01/2013 à 12/2015 antes de carregar a Fato001 (que foi onde ocorreu o problema)? É só ajustar os parâmetros da Criação da Dimensão Tempo para preencher esse período que citei acima.

Vamos fazer esses 2 testes para ver se conseguimos corrigir o problema?

Fico no aguardo!

Olá, Segue as fotos

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

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeOs dados dessa tabela a acima vai de 2013 a 2014.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade Isso tudo é o que já estava.

Olá, Caio, tudo bem?

Vamos tentar fazer a carga da Dimensão Tempo completa de 01/2013 à 12/2015 antes de carregar a Fato001(que foi onde ocorreu o problema).

É só ajustar os parâmetros da Criação da Dimensão Tempo para preencher esse período que citei acima.

Após fazer essa carga tenta novamente rodar a carga da Fato e me diz se funcionou ou não.

Fico no aguardo!

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