post icon

Retain NULL value import datetime blank column with SSIS package

Conservare il valore NULL durante l’import di dati DateTime da flat file

Questo problema oggi mi ha rallentato per qualche minuto così ho pensato che potrebbe essere molto utile condividere in rete.

Quando problema si verifica quando si importano valori DateTime da un file di testo utilizzando MS SSIS (Microsoft SQL Server Integration Services) in una determinata tabella del Database.
Il problema è che i campi vuoti nel file di testo di origine causano la scrittura del valore ‘1753-01-01 00:00:00.000’ nel campo DateTime corrispondente di destinazione.
Quello che desideriamo è ovviamente avere il campo a NULL sul database.
La soluzione è la seguente:
– fare clic con il tasto destro sull’origine file flat
– Mostra > cliccare ‘editor avanzato…’
– Fare clic sulla scheda ‘Proprietà componente’
– Impostare la proprietà ‘RetainNulls’ a ‘Vero’.

Di seguito uno screenshot dell’edior avanzato: 

Per impostare programmaticamente questa prorpietà usa il seguente code snippet:

Dim flatFileSource As IDTSComponentMetaData90 = flow.ComponentMetaDataCollection.New() Dim srcInstance As CManagedComponentWrapper = flatFileSource.Instantiate() srcInstance.SetComponentProperty("RetainNulls", True)

Enjoy Snippet!

3 marzo 2010 @ 16:46

No comments yet.

Leave a comment

Leave a Reply

Are you human? Time limit is exhausted. Please reload CAPTCHA.