(SSIS) Datenflussaufgabe – SQL in Excel-Datei exportieren

(SSIS) Datenflussaufgabe – SQL in Excel-Datei exportieren

Ich suche nach einer Lösung/Anleitung für folgenden Fall. In der MS SQL-Datenbank habe ich zwei Tabellen (Rechnung, Rechnungsposten). Ich muss die Daten nach Excel exportieren.

Mein Problem ist die Struktur der Excel-Exportdatei.

  1. Erster Datensatz aus Tabelle „Rechnung“
  2. zugehörige Datensätze aus der Tabelle „Rechnungsposition“
  3. leere Zeile

  4. Zweiter Datensatz aus Tabelle „Rechnung“

  5. zugehörige Datensätze aus der Tabelle „Rechnungsposition“
  6. leere Zeile

  7. Dritter Datensatz aus Tabelle „Rechnung“

  8. zugehörige Datensätze aus der Tabelle „Rechnungsposition“
  9. leere Zeile

  10. ...

  11. Letzter Datensatz aus Tabelle „Rechnung“
  12. zugehörige Datensätze aus der Tabelle „Rechnungsposition“
  13. leere Zeile

Kennt jemand ein gutes Beispiel?

Antwort1

Die Antwort auf diese Frage ist etwas knifflig.

  • Erstellen Sie zwei Variablen mit den Namen „Invoice“ als Objekt und „invoiceId“ als Zeichenfolge (ich habe angenommen, dass dies das Verbindungsfeld zwischen diesen beiden Tabellen ist).
  • Listen Sie nun mithilfe der Skriptaufgabe die Rechnungs-IDs aus der Rechnungstabelle auf und speichern Sie sie im Rechnungsobjekt. Im Ergebnissatz lautet der Ergebnisname 0 und der Variablenname lautet User::Invoice.
  • Ziehen Sie für jeden Loop-Container und wählen Sie den ADO-Enumerator. Wählen Sie dann User::Invoice als ADO-Objekt. Gehen Sie nun zur Variablenzuordnung und übergeben Sie das Feld InvoiceID an die Variable User::invloiceId.
  • Fügen Sie nun die Datenflussaufgabe hinzu. Wählen Sie drei Quellen. Eine aus der Rechnungstabelle, eine andere aus der Rechnungspositionstabelle und eine weitere als leere Zeile (konvertieren Sie bei Bedarf mit Datenkonvertierung, da dies eine leere Zeile ist).
  • Verwenden Sie jetzt den Parameter „invoiceID“ in der Where-Bedingung für jede Tabelle.
  • Verwenden Sie union all, um eine Vereinigung aller drei Ausgaben durchzuführen.
  • Wählen Sie nun Excel als Ziel und geben Sie alle Daten dort ein.

Hoffe, das löst Ihr Problem. Danke.

verwandte Informationen