Durchführen von Datenbankabfragen basierend auf externen Ergebnissätzen
In SSIS in VS 2013 können Sie auf Szenarien stoßen, in denen Sie eine Liste von erhalten müssen IDs aus einer Datenbank abrufen und diese Liste anschließend zum Abfragen einer anderen Datenbank verwenden. Dieses Szenario kann mit verschiedenen Ansätzen angegangen werden.
Methode 1: Verwenden der Lookup-Transformation
Nutzen Sie die Lookup-Transformation, um bestimmte Spalten aus einer separaten Tabelle basierend auf einem Übereinstimmungskriterium abzurufen . Diese Methode filtert jedoch keine Zeilen, sondern hängt lediglich Werte aus der zweiten Tabelle an. Um Zeilen basierend auf der ID-Liste zu filtern, sollten Sie die Verwaltung von Fehlerausgaben in der Lookup-Transformation in Betracht ziehen. Dadurch können Sie Zeilen entweder ignorieren oder zu Filterzwecken an eine Fehlerausgabe umleiten.
Methode 2: Verwenden einer Skriptaufgabe
Um das Laden aller Daten in den Speicher zu vermeiden und Verwenden Sie für die anschließende Filterung eine Skriptaufgabe, um die gewünschte Abfragedynamik zu erstellen. Mit diesem Ansatz können Sie die WHERE IN-Klausel mit einer Liste von IDs erstellen, die aus der ersten Datenbank abgerufen wurden.
Methode 3: Verwenden der Task „SQL ausführen“
Ähnlich wie bei der zweiten Mit der Methode „SQL ausführen“ können Sie die IN-Klausel mithilfe eines SQL-Befehls dynamisch erstellen. Die resultierende SQL-Anweisung kann dann als OLEDB-Quelle in der DataFlow-Aufgabe verwendet werden.
Es ist wichtig zu beachten, dass für diese Methoden unterschiedliche Leistungsaspekte und Speicherverbrauch gelten. Wählen Sie den am besten geeigneten Ansatz basierend auf den spezifischen Anforderungen Ihres Szenarios und den damit verbundenen Datenmengen.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Datenbank basierend auf Ergebnissen einer anderen Datenbank in SSIS effizient abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!