2
respostas

erro dimensão de alteração lenta erro 116

Ola! Tudo bem?

Busquei em todos os tópicos aqui sobre algum erro 116, não encontrei nenhuma solução. Segui os passos da aula e aparece esta mensagem quando conclui a confirguração de Dimensão de alteração:

TITLE: Microsoft Visual Studio

Error at Criacao da dimencao Fabrica [Dimensão de Alteração Lenta 1 [116]]: The input column "Dimensão de Alteração Lenta 1.Entradas[Entrada de Dimensão de Alteração Lenta].Colunas[Desc_fabrica]" cannot be mapped to external column "Dimensão de Alteração Lenta 1.Entradas[Entrada de Dimensão de Alteração Lenta].ExternalColumns[Desc_fabrica]" because they have different data types. The Slowly Changing Dimension transform does not allow mapping between column of different types except for DT_STR and DT_WSTR.

Segue os prints:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade 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

2 respostas

Refiz todo o processo, desde a criação das tabelas de Fato, notei que a Dimensão Fabrica estava com caractere diferente, alterei e depois disso acusou outro erro:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeDiferentemente da aula, alguns passos não fiz exatamente como o do professor, pois não abriu as mesmas opções, quando criei o Destino Din_Fabrica, não apareceu automaticamente o a conexão com DW, tive de localizar assim como é feito no passo anterior na criação Origem.

Segue os avisos da depuração:

SSIS package "C:\Users\note\Documents\Projetos\datawarehousesucos\CargaDW\CargaDimensoes.dtsx" starting. Information: 0x4004300A at Criação da Dimensão Fabrica, SSIS.Pipeline: A fase de validação está começando. Information: 0x4004300A at Criação da Dimensão Fabrica, SSIS.Pipeline: A fase de validação está começando. Information: 0x40043006 at Criação da Dimensão Fabrica, SSIS.Pipeline: A fase de Preparação para Execução está começando. Information: 0x40043007 at Criação da Dimensão Fabrica, SSIS.Pipeline: A fase de Pré-execução está começando. Information: 0x4004300C at Criação da Dimensão Fabrica, SSIS.Pipeline: A fase de Execução está começando. Error: 0xC0202009 at Criação da Dimensão Fabrica, Tabela Din_Fabrica [37]: Código de Erro SSIS DTS_E_OLEDBERROR. Erro OLE DB. Código de erro: 0x80004005. Um registro OLE DB está disponível. Origem: "Microsoft SQL Server Native Client 11.0" Resultado: 0x80004005 Descrição: "A instrução foi finalizada.". Um registro OLE DB está disponível. Origem: "Microsoft SQL Server Native Client 11.0" Resultado: 0x80004005 Descrição: "Violação da restrição PRIMARY KEY 'PK__Din_fabr__98A1730FBFD3806B'. Não é possível inserir a chave duplicada no objeto 'dbo.Din_Fabrica'. O valor de chave duplicada é (001).". Error: 0xC0209029 at Criação da Dimensão Fabrica, Tabela Din_Fabrica [37]: Código de Erro SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. Falha de "Tabela Din_Fabrica.Entradas[Entrada de Destino OLE DB]" devido ao código de erro 0xC020907B e a disposição da linha de erro em "Tabela Din_Fabrica.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. Error: 0xC0047022 at Criação da Dimensão Fabrica, SSIS.Pipeline: Código de Erro SSIS DTS_E_PROCESSINPUTFAILED. Falha do método ProcessInput no componente "Tabela Din_Fabrica" (37) com o código de erro 0xC0209029 durante o processamento da entrada "Entrada de Destino OLE DB" (50). 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. Information: 0x40043008 at Criação da Dimensão Fabrica, SSIS.Pipeline: A fase Pós-execução está começando. Information: 0x4004300B at Criação da Dimensão Fabrica, SSIS.Pipeline: "Tabela Din_Fabrica" gravou 2 linhas. Information: 0x40043009 at Criação da Dimensão Fabrica, SSIS.Pipeline: A fase de limpeza está começando. Task failed: Criação da Dimensão Fabrica Warning: 0x80019002 at Package: 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. SSIS package "C:\Users\note\Documents\Projetos\datawarehousesucos\CargaDW\CargaDimensoes.dtsx" finished: Failure.

Oi, Lucas, tudo certo?

Peço desculpas por demorar a te responder.

Pelo log de erro, parece que você tentou inserir uma PK com a chave duplicada - ou seja, houve uma violação na restrição da PK.

O que recomendo a fazer é:

  • Checar a origem dos dados - atentamente, observar se não há uma duplicação feita desde a origem;
  • Limpar a tabela Din_Fabrica, pois é nela que há o erro - após limpar, não será possível uma duplicação, já que ela estará vazia;
  • Verificar o mapeamento dos dados. Pois pela diferença de processos é provável que algum fez a duplicação.

Se a dúvida persistir, estou disponível.

Abraços e bons estudos!

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