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

Erro para executar Dimensão de alteração lenta

Verifiquei todos os passos que o professor dá e está tudo igual no assistente de Dimensão de alteração lenta, porém quando dou concluir da um erro ao inves de aparecer as novas caixinhas.

Erro: TITLE: Microsoft Visual Studio

Erro em Criação da Dimensão Fábrica [Dimensão de Alteração Lenta [87]]: The input column "Dimensão de Alteração Lenta.Entradas[Entrada de Dimensão de Alteração Lenta].Colunas[Desc_Fabrica]" cannot be mapped to external column "Dimensão de Alteração Lenta.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.


ADDITIONAL INFORMATION:

Erros ao gerar os resultados do assistente: Erro em Criação da Dimensão Fábrica [Dimensão de Alteração Lenta [87]]: The input column "Dimensão de Alteração Lenta.Entradas[Entrada de Dimensão de Alteração Lenta].Colunas[Desc_Fabrica]" cannot be mapped to external column "Dimensão de Alteração Lenta.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.

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%C2%AE%20Visual%20Studio%C2%AE&ProdVer=16.6.30114.105&EvtSrc=Microsoft.DataTransformationServices.Design.SR&EvtID=ScdWizardGenerationErrors&LinkId=20476


BUTTONS:

OK

7 respostas

Oi Mariana, tudo bem?

Esse erro Dimensão de alteração lenta.Entradas [Entrada de dimensão de alteração lenta] .ExternalColumns [Desc_Fabrica]" porque eles têm tipos de dados diferentes. A conversão Dimensão de mudança lenta não permite o mapeamento entre colunas de tipos diferentes, está dizendo que suas colunas estão com tipos de dados diferentes. A conversão de dados não foi feita, pode ser que acidentalmente você selecionou um tipo de dado diferente.

Dá uma olhada aqui nessa atividade, a partir do passo 13 e refaça a conversão para Unicode, fique atenta ao tipo de dado e o comprimento.

Qualquer dúvida estou por aqui, tá bom? :)

Eu chequei e fiz exatamente como está no vídeo. Porém, quando fui criar as tabelas não existia essa opção de comprimento 200 nas ferramentas que utilizei (Studio 2019 e sql 2018) as opções eram 50 ou max, para o item que estava 50 usei o max. Já tentei vários tipos e não dá certo.

Mariana,

Compartilha comigo como está a sua tabela e a conversão dos dados, por favor. Você pode subir a imagem aqui http://imgur.com e compartilhar o link da imagem.

Fico no seu aguardo :)

Fluxo dos dados> https://i.imgur.com/vkLG5Ey.png Editor transformação conversão de dados> https://i.imgur.com/SWCZhqF.png Tabela Dim Fabrica Studio> https://i.imgur.com/wVXZw7X.png Tabela Dim Fabrica Sql Server> https://i.imgur.com/x6ZwJ34.png

Essa foi a única diferença que encontrei. No comprimento que ele pede pra colocar 200 e no meu caso eu tinha colocado Max nas dimensões das tabelas, pq não tem opção de 200 nesses dois sistemas que eu estou usando pq não consegui baixar a versão que ele indicou no começo do curso. Mesmo assim alterei nas tabelas para 50 e continuou dando o mesmo erro.

Oi Mariana, tudo bem?

Me tira uma dúvida: você está usando qual versão dos softwares? E vamos fazer o seguinte:

imgur

Ali embaixo, tem o script da tabela. Tente colocar esse código ali:

CREATE TABLE [dbo].[Dim_Fabrica]
(
    [Cod_Fabrica] NVARCHAR(50) NOT NULL PRIMARY KEY,
    [Desc_Fabrica] NVARCHAR(200) NULL 
)

Salve, recompile e vê como fica no banco de dados. Se der certo, refaça a dimensão de alteração lenta e rode a carga.

Fico no aguardo, tá? E qualquer coisa tô por aqui :)

solução!

Microsoft SQL Server Manager Studio (2018) Visual Studio (2019)

Mesmo trocando o script, salvando e recompilando no Visual Studio. Eu atualizando o projeto no Sql Server MS permanece nvarchar(max) nesse programa. Não tinha a opção de escolher (200) em nenhuma dos 2 programas. E quando tento editar no SQL Server ele diz que tem que criar uma nova tabela.

Pensando que não tem como resolver isso, minha dúvida é se eu tiver que recriar tudo do zero, só terei a opção de colocar o nvarchar de 50. Para todas as tabelas, pq todas estão assim. O nvarchar de 50 será suficiente para alimentar os outros exercícios?

Mariana, tudo bem?

Segui analisando o erro e o que poderia ser. O nvarchar(max), não seria um problema na conversão de dados. E olhando as imagens do seu projeto, está tudo correto e mesmo assim tentamos algumas soluções. O que me leva a pensar que pode ser um bug da versão do VS2019.

Irei te pedir a gentileza de instalar essa versão do VS2019, restaure o projeto e veja se o erro continua.