Domanda

Esiste un modo per verificare se il campo è numerico nella colonna derivata / Suddivisione condizionale dell'attività Flusso di dati in SQL Server Integration Services 2005.

La funzionalità dovrebbe essere come la funzione ISNUMERIC ().

Attualmente sto usando

((DT_NUMERIC,12,0)fieldname= (DT_NUMERIC,12,0)fieldname)

nell'espressione di colonna derivata per verificare se il nome del campo è Numerico. Ma se il nome del campo contiene caratteri come 123ABC anziché il numero 123, l'espressione precedente genera un'eccezione a causa dell'errore di conversione e l'esecuzione del pacchetto si interrompe.

Se avessimo una funzione come ISNUMERIC (), allora non avremmo bisogno di fare tutto questo circo. Qualcuno sa se esiste una funzione come questa per verificare se il campo è numerico o meno in SSIS.

È stato utile?

Soluzione

Utilizziamo la seguente tecnica:

  1. Nel modulo delle proprietà per il componente della colonna derivata è possibile fare clic sul pulsante "Configura output errori" per visualizzare la configurazione dell'output degli errori.

  2. Configura le azioni di errore e troncamento per questa colonna (o qualsiasi altra colonna) su " Ignora errore "

  3. Ora, se la conversione di questa colonna non riesce per una riga, il pacchetto continuerà ad essere eseguito. Il valore della colonna per quella riga verrà impostato su null. Puoi utilizzare un componente successivo per verificare la presenza di valori null e intraprendere le azioni appropriate.

Altri suggerimenti

È possibile reindirizzare le righe in caso di errore e gestire l'errore. Oppure utilizza un'attività di script.

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