Ao executar aparece esse erro cod_mes cannot convert between Unicode Unicode and non-Unicode string data types em Comando OLE DB e Grava na dimensão quem não existe
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Ao executar aparece esse erro cod_mes cannot convert between Unicode Unicode and non-Unicode string data types em Comando OLE DB e Grava na dimensão quem não existe
Esse erro:
"cannot convert between Unicode and non-Unicode string data types"
é comum ao usar OLE DB (como no SSIS, Power BI, ou queries entre bancos diferentes) e significa que há uma incompatibilidade entre tipos de dados — especificamente entre NVARCHAR (Unicode) e VARCHAR (não-Unicode).
⚠️ Causa do erro Você está tentando comparar ou inserir valores entre colunas de tipos diferentes, como:
Comparando VARCHAR com NVARCHAR
Inserindo NVARCHAR em uma coluna VARCHAR (ou vice-versa) sem conversão
Por exemplo:
WHERE tabela1.cod_mes = tabela2.cod_mes
Se:
tabela1.cod_mes for NVARCHAR
tabela2.cod_mes for VARCHAR
→ Vai gerar erro com OLE DB.
✅ Como resolver
WHERE CAST(tabela1.cod_mes AS NVARCHAR(10)) = CAST(tabela2.cod_mes AS NVARCHAR(10))
ou
WHERE tabela1.cod_mes = CONVERT(NVARCHAR(10), tabela2.cod_mes)