2016-11-27 2 views

Antwort

1

@ H.Fadlallah hat ein Beispiel zur Verfügung gestellt, wie NULLS wird gelesen von einem Flatfile zu handhaben. Ich verstehe, dass Sie NULL in eine Flatfile schreiben möchten. Wie erläutert wurde, haben Flatfiles kein NULL-Konzept. Im Gegensatz zu SQL haben sie keinen Datentyp. Alles ist eine Zeichenfolge. Ein NULL in einer Flatfile ist gleich einer leeren Zeichenfolge.

Von Ihrer Aussage

ich will NULL-Werte in Flat-Datei erhalten, aber es kommt leer.

Ich kann nur vermuten, dass Sie den Text "NULL" in die Flatfile drucken möchten. Dafür können Sie eine Komponente der abgeleiteten Spalte verwenden. Platzieren Sie es zwischen Ihrer OLE DB-Quelle und Ihrem Flat File-Ziel. In der Komponente "Abgeleitete Spalte" werden die Nullwerte erkannt und mithilfe des folgenden Ternärausdrucks von einem wahren NULL-Wert in einen Zeichenfolgenwert "NULL" umgewandelt.

ISNULL([MyColumn]) ? "NULL" : [MyColumn] 

Hoffe, das hilft. Wenn Sie etwas anderes benötigen, können Sie Ihre Frage klären.

1

In flachen Dateien gibt es keinen Unterschied zwischen Null und Leerzeichen. also, wenn flache Datei readed verwenden eine Anwendung oder einen anderen SSIS-Paket Sie müssen prüfen, ob Wert nicht null ist oder leer Funktionen wie String.IsNullOrEmpty() und IsNull()

IE:

In einer Skriptkomponente Sie das überprüfen Spaltenwert wie folgt aus:

If Not Row.inCol_IsNull AndAlso _ 
    Not String.IsNullOrEmpty(Row.InCol) Then 

    'Do SomeThing 
    Row.OutCol = Row.inCol 

    Else 

    Row.OutCol_IsNull = True 

    En If 

OR

bei Verwendung einer ap dung

If not strValue is nothing andAlso _ 
    not string.IsNullOrEmpty(strvalue) then 

' do something 
end If 
Verwandte Themen