2016-04-11 5 views
0

Ich bin neu in SSIS und ich hoffe, jemand kann mich in die richtige Richtung zeigen!SSIS Ich brauche Primärschlüsselwerte in zusätzlichen Tabellen

Ich muss Daten von einer Datenbank in eine andere verschieben. Ich habe eine Abfrage geschrieben, die Daten aus einer Anzahl von Tabellen (SOURCE) nimmt. Ich verwende dann eine bedingte Aufspaltung (Bedingung: Id = id) für eine Anzahl von Tabellen in der Zieldatenbank. Hier ist mein Problem, ich brauche eine andere Tabelle, die den "id" -Wert aus den drei Tabellen nimmt und sie in einer vierten Tabelle als Attribute zusammen mit zusätzlichen Daten von SOURCE verwendet. Ich denke, ich muss die ID-Werte an Parameter übergeben, aber es scheint keine Möglichkeit, dies beim Einfügen in ADO NET Destination zu tun.

MY SSIS Diagram

vierte Tabelle haben wird ID-Werte (automatisch inkrementiert) aus Tabelle 1, Tabelle 2 und Tabelle 3 eingefügt.

Gehe ich das richtig oder gibt es einen besseren Weg?

Vielen Dank im Voraus!

+0

Quelle geht zu 1, 2, 3. Sie müssen wissen, was zu 1, 2, 3 hinzugefügt wurde, um in einigen Audit-Tabelle, 4 aufzuzeichnen? – billinkc

Antwort

0

Ich kenne keine Möglichkeit, IDENTITY-Werte von Zeilen zu erhalten, die in ein Dataflow-Ziel für die Verwendung in demselben Dataflow eingefügt wurden.

Wahrscheinlich machen Sie den vierten Zweig in Ihrem Datenfluss, indem Sie die Spalten in die vierte Tabelle einfügen und die Fremdschlüssel (die IDs der anderen drei Tabellen) leer lassen.

Verwenden Sie nach dem Dataflow einen Task ExecuteSQL, um eine gespeicherte Prozedur aufzurufen, die die fehlenden Spalten in der vierten Tabelle auffüllt, indem sie ihre IDs in den anderen drei Tabellen nachschlägt.

Wenn Ihre vierte Tabelle nicht über die Werte verfügt, die Sie in den anderen drei Tabellen nach den IDs suchen müssen, können Sie den Datenfluss in eine Zwischenspeichertabelle mit diesen Werten verschieben und die vierte Tabelle aus der Tabelle ausfüllen Staging-Tabelle beim Nachschlagen der IDs aus den entsprechenden Werten.

+0

Danke Tab für Ihr Beispiel! Ich beginne mich zu fragen, ob dies besser als SQL-Agent-Job erreicht werden könnte. Ich werde deine Lösung ausprobieren und sehen, wie es mir geht. Danke noch einmal! – Alan

Verwandte Themen