Heim >Datenbank >MySQL-Tutorial >Wie frage ich eine Datenbank basierend auf den Ergebnissen einer anderen in SSIS ab?

Wie frage ich eine Datenbank basierend auf den Ergebnissen einer anderen in SSIS ab?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-19 17:00:12375Durchsuche

How to Query One Database Based on Results from Another in SSIS?

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:

  • Fehlerbehandlung auf „Zeile ignorieren“ einstellen, wobei Zeilen mit Nullwerten (aus der Suche) durchgelassen werden.
  • Verwenden Sie eine bedingte Aufteilung, um Zeilen mit Werten ungleich Null zu filtern.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn