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

Erro no insert Carga Fato 001

Seguindo o que consta na aula me retorna esse erro após compilar e iniciar o clicar em iniciar

Inicialização do pacote SSIS "D:\Estudo\BI\DatawarehouseSucos\CargaDatawarehouse\CargaFatos.dtsx".
Informações: 0x4004300A em Carga Fato001, SSIS.Pipeline: A fase de validação está começando.
Informações: 0x4004300A em Carga Fato001, SSIS.Pipeline: A fase de validação está começando.
Aviso: 0x80049304 em Carga Fato001, 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 Fato001, SSIS.Pipeline: A coluna de saída "DATA_FATO" (14) na saída "Saída de Origem OLE DB" (13) e componente "Carga Fato001" (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 Fato001, SSIS.Pipeline: A fase de Preparação para Execução está começando.
Informações: 0x40043007 em Carga Fato001, SSIS.Pipeline: A fase de Pré-execução está começando.
Informações: 0x4004300C em Carga Fato001, SSIS.Pipeline: A fase de Execução está começando.
Erro: 0xC0202009 em Carga 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_Organizacional". O conflito ocorreu no banco de dados "DW_SUCOS", tabela "dbo.Dim_Organizacional", column 'Cod_Filho'.".
Erro: 0xC0209029 em Carga 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 Carga 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 Carga Fato001, SSIS.Pipeline: A fase Pós-execução está começando.
Informações: 0x4004300B em Carga Fato001, SSIS.Pipeline: "Inserir Destino" gravou 0 linhas.
Informações: 0x40043009 em Carga Fato001, SSIS.Pipeline: A fase de limpeza está começando.
Falha na tarefa: Carga Fato001
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 "D:\Estudo\BI\DatawarehouseSucos\CargaDatawarehouse\CargaFatos.dtsx" concluído: Falha.
11 respostas

Oii Lucas, tudo bom? Espero que sim

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. Descrição: "A instrução INSERT conflitou com a restrição do FOREIGN KEY "FK_Fato_001_Dim_Organizacional". O conflito ocorreu no banco de dados "DW_SUCOS", tabela "dbo.Dim_Organizacional", column 'Cod_Filho'.".

Esses erros apontam para tentativas de inserir dados em uma tabela, que não existem na tabela de origem. Verifique se na carga da dimensão tempo, o (ano/mês/inicial/final) corresponde aos parâmetros estabelecidos para a Fato 001. Recomendo também fazer consultas por fora vendo os valores que está tentando entrar na fato e os que estão já criados na dimensão.

Espero que ajude. Qualquer coisa me retorna aqui, tá bom? :)

OI Maria, tudo bom? agradeço o retorno rápido, mas então a dimensão tempo a principio está ok, segui conforme consta na aula, tentei recompilar pelo visual studio e deu certo, mas a Fato001 não foi com sucesso. A consulta que foi disponibilizada me mostra os dados sem problemas, será que eu preciso alterar os parâmetros da dimensão tempo?

Oi Lucas,

A dimensão tempo está carregada até em qual ano? E nos seus parâmetros de datas da Fato001 está como?

Dá uma olhada na tabela Dim_Organizacional, se os dados lá existem.

Me avisa qualquer coisa :)

Na dimensão tempo eu coloquei ano inicial e final 2014, mes inicio 1 e final 12 A query da FATO001 está como consta no txt que foi postado,

SELECT * FROM TAB_FATO001 WHERE YEAR(DATA_FATO) >= '2014' AND MONTH(DATA_FATO) >= '1' AND YEAR(DATA_FATO) <= '2014' AND MONTH(DATA_FATO) <= '1'`

Agora a tabela dim_organizacional não tem campo de data realmente As colunas que temos ali são

      ,[Desc_Filho]
      ,[Cod_Pai]
      ,[Esquerda]
      ,[Direita]
      ,[Nivel]

Mais Tarde eu vou da uma olhada novamente na aula da dimensão tempo pra ver se eu não deixei passar alguma coisa, mas tentei rodar novamente e sem sucesso.

Lucas,

A sua dim_organizacional não tem o campo Cod_Filho?

Tem, não foi no meu colar

Lucas,

Seguinte, na sua dimensão organizacional, realmente não tem coluna de datas, mas os dados estão inseridos certinho ali?

O que consta no sql server é isso aqui

https://imgur.com/a/dvwdaTo

E é a mesma coisa na tabela que o visual studio mostra

se eu te encaminhar meu projeto de alguma forma isso facilita? se sim pode me falar como e por onde que eu disponibilizo

solução!

Lucas,

Pelo que vi, a rotina esq_dir não foi feita, é a única diferença com a minha tabela e talvez possa ser por isso que está impedindo a inserção na Fato001.

Veja a diferença de minha dim_organizacional para a sua:

Imgur

Volte nessa aula e veja se o procedimento foi feito.

Me avisa qualquer coisa, tá bom?

Perfeito Maria, vou retornar a essa aula e te retorno, muito obrigado