2016-11-21 4 views
3

Ich habe ein SQL-Task-Objekt ausführen, das ein einfaches SELECT-Skript ausführt, das rund 30.000 Zeilen und eine Spalte zurückgibt. Ich ordne sein Ergebnis erfolgreich einer Variablen zu. Wie kann ich diese Ergebnismenge zu Datenfluss-Task OLEDBConnection zu WHERE IN-Klausel verwenden?SSIS-Ergebnis auf WHERE IN-Klausel gesetzt?

Mein Grund dafür ist, ich bin nicht erlaubt, einen Verbindungsserver zu erstellen und Tabellen sogar auf tmp zu erstellen.

Antwort

0

Hier ist ein Beispiel können Sie verwenden: enter image description here

einfach Ihre Anfrage ändern „(?) WHERE IN“ und klicken Sie auf die Parameter ... Taste auf der rechten Seite, um Ihre zur Karte Parameter für die Variable, in der Sie das Ergebnis gespeichert haben. In meinem Fall ist die Variable, die ich verwende, ein Datum, mit dem ich die Abfrage in der WHERE-Klausel unten durchfiltriere.

Ich hoffe, das hilft!

+0

Vielen Dank. Dies würde helfen. – Anthony

0

Sie könnten die Task 'Join verbinden' im Datenfluss verwenden, um Daten (Inner/Links/Voller Join) aus Abfragen auf mehreren Servern zu kombinieren.
Verwenden Sie die MRGJ-Task, um eine innere Verknüpfung neu zu erstellen, für die zuvor ein Verbindungsserver erforderlich war.

+0

Danke für Ihren Rat. aber ich kann keine Merge-Joins verwenden, ich versuche, die zu validierenden Daten zu reduzieren. – Anthony