2013-08-21 19 views
7

Ho un file di testo con la barra verticale {|} valori separati e sto usando una sorgente di file flat per leggere i valori che fallisce con l'errore sopra.SSIS - Il testo è stato troncato o uno o più caratteri non corrispondevano nella tabella codici di destinazione - Caratteri speciali

Ho un gestore di connessione file flat, dove imposto la larghezza di colonna di ogni colonna. La colonna particolare che causa l'errore ha

DataType - DT_WSTR

OutputColumnWidth - 30

Il problema viene sollevato solo quando la colonna particolare, ha caratteri speciali come 'Société Amomyna da Pramt Hgyme' però ha ancora solo 30 caratteri.

Se aumento la larghezza della colonna funziona, ma ho bisogno di sapere che è la soluzione giusta.

Per favore fatemi sapere se avete bisogno di maggiori dettagli. Grazie in anticipo

risposta

19

Se si va alla gestione connessione file piatto in Avanzate e guardare il "OutputColumnWidth" di descrizione descrizione comandi Vi dirà che Composit personaggi possono utilizzare più spazi. Quindi "é" in "Société" probabilmente occupa più di un personaggio.

EDIT: Ecco qualcosa al riguardo: http://en.wikipedia.org/wiki/Precomposed_character

+0

Grazie, Così ho aumentato la "OutputColumnWidth" a 40 da 30, ma a durante la fase di destinazione NET ADO non riesce con l'errore "Il dato valore di tipo String da l'origine dati non può essere convertita in tipo nvarchar della colonna di destinazione specificata "quindi vuol dire che anche la larghezza della colonna nella tabella Database deve essere aumentata? – Swamy

+0

Potrebbe essere un problema con la codifica piuttosto che con la dimensione. La colonna del database NVARCHAR deve gestire le stringhe Unicode, ma potrebbe essere necessario configurare l'attività ADO per gestirla. – TsSkTo

+0

Sì, ho modificato la codifica in UTF-8 e tutti i problemi sono stati risolti. Non ho nemmeno bisogno di aumentare OutputColumnWidth. Questo mi ha aiutato anche "http://www.joelonsoftware.com/articles/Unicode.html" – Swamy

Problemi correlati