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
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)