2016-08-08 28 views
-1

Ich verwende SQL-Aufgabe Ausführen zu lesen SQL-Abfragen und dann Skript-Task, um die Abfrageergebnisse in CSV-Dateien mit der Methode im folgenden Beitrag auf diesem zu schreiben site-SSIS-Null-Werte in der CSV-Ausgabedatei mit Null Skript-Aufgabe

SSIS: Script-Task zum Schreiben von Recordset in Datei (SSIS: Script task to write recordset to file). Zusätzlich, was ich brauche, ist 'Null' in CSV-Dateien überall dort ausgefüllt, wo das Ergebnis der Abfrage NULL ist. Wie erreiche ich dies mit Skript-Aufgabe ???? Welchen zusätzlichen Code muss ich schreiben?

Antwort

0

Es gibt ein paar Möglichkeiten, dies zu tun, aber die Antwort ist in Persist() innerhalb der foreeach Datenreihe Schleife:

 foreach (System.Data.DataRow row in table.Rows) 
     { 
      // TODO: For string based fields, capture the max length 
      IEnumerable<string> fields = (row.ItemArray).Select(field => field.ToString()); 

      file.WriteLine(string.Join(delimiter, fields)); 
     } 

Sie haben für db null in Ihrem Lambda-Ausdruck zu testen. Dies sollte funktionieren, obwohl ich nicht getestet habe:

IEnumerable<string> fields = (row.ItemArray).Select(field => ((field == DBNull.Value) "NULL" : field.ToString()));