Domanda

Qual è il modo migliore per togliere personaggi di file flat in SSIS? Nel mio caso, ho bisogno di rimuovere tutte le citazioni dal file prima di elaborare.

Modifica
Come posso eseguire un file eseguibile nei confronti di alcuni file dal SSIS? Posso in qualche modo utilizzare la connessione di origine come ingresso o avrei dovuto passare nei nomi di file come parametri?

È stato utile?

Soluzione

Il modo più semplice per farlo sarebbe quello di creare un componente script "Trasformazione" e utilizzare il codice per mettere a nudo le virgolette.

Altri suggerimenti

L'ho fatto usando Derived Column Transformation

es. Se voglio sostituire', '', # in SSIS utilizzando colonna derivata, vorrei scrivere

Replace(Replace(REPLACE(name,"$"," "), "'", " ")," ","")

Ma sento che, se 1 o 2 colonne deve essere filtrato, allora questo approccio è buono. Se si tratta di più, poi andare avanti con Script task

Dal momento che è una cosa che si deve fare per tutti i campi dei file, io consiglierei di farlo come primo passo del processo e non come un'operazione nel flusso di lavoro di trasformazione.

È possibile codificare il proprio script di .NET e incorporarlo in un'attività Script. È anche possibile chiamare uno strumento di terze parti o di un componente tramite un'attività Esegui processo.

Per esempio, se si ha accesso a cygwin unix-riga di comando, qualcosa di simile a questo dovrebbe fare il lavoro:

sed s/\"//g data1.txt

È possibile chiamare un eseguibile tramite il componente citato "Esegui processo", ed è possibile parametrizzare gli ingressi impostando espressioni attributi del componente. Quelle espressioni possono essere basate su variabili di input che potrebbero essere configurato tramite i file di configurazione. (Questo è solo uno dei tanti modi in cui SSIS fornisce per ottenere qualcosa di simile)

Se ho capito bene la tua domanda, si desidera rimuovere eventuali citazioni da uno qualsiasi dei valori di colonna che si trovano nel file di testo? Se questo è il caso, si potrebbe utilizzare una trasformazione colonna derivata. Si potrebbe selezionare Sostituisci "nome_colonna" nel nome colonna derivata discesa. Si potrebbe quindi popolare la proprietà espressione con il seguente codice: REPLACE ( "\"", [nome_colonna], "")

Spero che questo aiuti.

Sia unclepaul84 e soluzioni Ryan Fonnetts' avrebbe funzionato, ma personalmente ho andare più verso unclepaul di perché ho scoperto che so avere più file che devono citazioni spogliato fuori e posso usare lo stesso codice di trasformazione per ogni uno (che è bello).

Si tratta di soluzioni, ma credo che ci sia più facile funcitonality costruito a destra nel piatto Connection File Manager.

Nella prima scheda ver, Generale, troverete la prima casella di testo sotto il sectin formato, chiamato Qualificatore testo. Inserisci uno virgolette doppie (o un apice se tutte le colonne sono avvolte tra apici) qui e cliccare su anteprima.

Questo dovrebbe risolvere il tuo problema!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top