SSIS: a página de código remonta a 65001

Num pacote SSIS que estou a escrever, tenho um ficheiro CSV como fonte. Na página Geral do Gerente de conexão, ele tem 65001 como a página de código (eu estava testando algo). O Unicode não é verificado.

as colunas mapeiam para uma tabela de destino do servidor de SQL com varchar (entre outros) colunas.

há um erro no destino: a coluna "columnname" não pode ser processada porque mais de uma página de código (65001 e 1252) estão especificadas para ela.

O meu SQL as colunas têm de ser varchar, não nvarchar devido a outras aplicações que as utilizam.

na página Geral do Gestor de ligações, altero a página de código para 1252 (ANSI - Latin I) e pronto, mas quando a abrir novamente, volta para 65001. Não faz diferença se (apenas para teste) eu verificar Unicode ou não.

como nota, tudo isto começou a acontecer após o ficheiro CSV e a tabela SQL terem colunas adicionadas e removidas (utilizadores, você sabe.) Antes disso, eu não tinha quaisquer problemas. Sim, refrescei o OLE DB. destino no Editor avançado.

Este é o servidor SQL 2012 e seja qual for a versão das ofertas e dos SPE que venha com ele.

Author: Hadi, 2018-01-26

1 answers

65001 Code page = Unicode (UTF-8)

Com base neste artigo da Microsoft (Flat File Connection Manager):

Página de código
Indique a página de código para o texto não-Unicode.

Também

Poderá configurar o Gestor de ligações de Ficheiros planos das seguintes formas:

Indique o ficheiro, a localização e a página de código a usar. A localização é usada para interpretar dados sensíveis à localização, tais como datas, e a página de código é usada para converter dados de string para Unicode.

Quando o ficheiro plano tiver uma codificação Unicode:

Então esta propriedade não pode ser alterada, irá sempre voltar à sua codificação original.

Para mais informações sobre os identificadores da Página de código, pode consultar este artigo:

 2
Author: Hadi, 2018-01-29 09:08:29