Come leggere un flatfile con la spina minuscola come delimitatore

Sto cercando di leggere un file flat in SSIS che è in questo formato

col1 þ col2 þ col 3

Sto usando il gestore di connessione flatfile ma non ci sono opzioni per il carattere ‘þ’ nella sezione delimitatore colonne del gestore connessioni.

Quale sarebbe la soluzione per questo? Oltre a leggere il file e sostituire il carattere spinoso con un delimitatore supportato da SSIS,

Essendo un idiota “mericano”, penso che il carattere della spina minuscola sia 0xFE mentre il maiuscolo è 0xDE. Questo diventerà importante presto.

Ho creato un pacchetto SSIS con un gestore di connessione file flat. L’ho indicato in un file delimitato da virgola che sembrava

 col 1,col 2,col 3 

Questo mi ha permesso di ottenere il set di metadati per il file. Una volta ho definito tutte le colonne e il mio pacchetto è comunque buono. Salvarla. Confidalo nel tuo sistema di controllo della versione. Se non stai usando il controllo di versione, vergognati, ma poi fai una copia del tuo file .dtsx e mettilo da qualche parte a portata di mano.

Sostituisci il file delimitato da virgole con quello delimitato da una spina.

Cosa stiamo facendo

Quello che faremo è modificare l’XML che è il nostro pacchetto SSIS a mano per scambiare il delimitatore di a , con un þ . È un’operazione semplice, ma dal momento che si sta uscendo dalla prenotazione, è facile sporcarsi e quindi il pacchetto non si aprirà correttamente nell’editor.

Come sistemarlo

Se hai il pacchetto aperto, chiudi il pacchetto ma lascia Visual Studio aperto. Fare clic con il tasto destro sul file e selezionare “Visualizza codice”.

In un pacchetto SSIS 2012, lo si cercherà

 DTS:ColumnDelimiter="_x002C_" 

In un pacchetto del 2008,

 _x002C_ 

Quello che faremo è sostituire _x00FE_ (thorn) per _x002C_ (virgola). Salvare il file e quindi fare doppio clic per aprirlo.

Ora il tuo gestore delle connessioni dovrebbe mostrare il simbolo della spina nella scheda Colonne.

inserisci la descrizione dell'immagine qui

È interessante notare che, dopo aver aperto il pacchetto, se si torna indietro nel codice, l’editor avrà scambiato il carattere spinoso nel file al posto del codice di carattere esagonale. Strano.