Abfragen einer Datenbank basierend auf Ergebnissen aus einer anderen Datenbank
In SSIS kann das Abrufen von Daten aus mehreren Datenbanken eine häufige Aufgabe sein. In diesem Artikel werden drei Methoden zum Ausführen einer Abfrage in einer Datenbank auf der Grundlage der von einer anderen Datenbank erhaltenen Ergebnisse untersucht:
Methode 1: Verwenden der Lookup-Transformation
Fügen Sie eine Lookup-Transformation hinzu, um die abzurufen ID-Liste aus der ersten Datenbank. Wählen Sie mindestens eine Spalte aus der Nachschlagetabelle aus. Um jedoch Zeilen basierend auf der ID-Liste zu filtern, müssen Sie:
Methode 2: Verwenden von Skript Aufgabe
Mit dieser Methode können Sie das Laden aller Daten vermeiden. Verwenden Sie eine Skriptaufgabe mit VB.NET-Code, um die ID-Liste abzurufen und in einer Benutzervariablen zu speichern. Legen Sie die Variable als Quelle für eine nachfolgende Datenflussaufgabe fest.
Methode 3: Verwenden der „SQL ausführen“-Aufgabe
Ähnlich wie Methode 2, aber mit einer „SQL ausführen“-Aufgabe Erstellen Sie die IN-Klausel. Führen Sie den folgenden SQL-Befehl aus, um einen einzelnen Ergebnissatz abzurufen, der die ID-Liste und die Abfrage enthält:
DECLARE @str AS VARCHAR(4000) SET @str = '' SELECT @str = @str + CAST([ID] AS VARCHAR(255)) + ',' FROM dbo.MyTable SET @str = 'SELECT * FROM MySecondDB WHERE ID IN (' + SUBSTRING(@str,1,LEN(@str) - 1) + ')' SELECT @str
Speichern Sie das Ergebnis in einer Benutzervariablen und setzen Sie die Eigenschaft „DataFlow Task Delay Validation“ auf True.
Durch die Nutzung einer dieser Methoden können Sie eine Datenbank basierend auf den Ergebnissen einer anderen Datenbank effektiv abfragen und so komplexere Datenoperationen innerhalb Ihrer SSIS-Pakete durchführen.
Das obige ist der detaillierte Inhalt vonWie frage ich eine Datenbank basierend auf den Ergebnissen einer anderen in SSIS ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!