SSIS-ResultSet, Foreachloop und Variable
Ich habe ein Problem und ich weiß nicht, ob dies möglich ist, zu tun.
Ich habe eine einfache SQL-Aufgabe.
SELECT Name, email FROM table_name
Mit einem ResultSet, ich bin versucht, übergeben Sie es einer Variablen zu, und verwenden Sie es auf eine E-Mail-Aufgabe mit einer foreach-Schleife, aber ich habe kein Glück bekommen dies funktioniert. Wenn ich nur eine Spalte, funktioniert es einwandfrei. Mein Problem ist mehrere Spalten.
Danke für die Hilfe im Voraus.
Beschreiben Sie detailliert, wie Sie Ihre SQL Ausführen (Task) einrichten, die Variablen, die Sie deklariert haben und deren Datentypen und wie haben Sie die ForEach-Schleife konfiguriert
SQL OLE-DB mit "Vollständige Ergebnis" zu setzen, Ergebnis, Name, 0, 1 zugeordnet, zwei variable: User:: E-Mail-und user -:: Fullname. Beide sind "Objekt" - Datentyp. Foreach-Schleife gesetzt, um ADO-Enumerator-Source-variable zu User::E-Mail. aber ist nicht auf die SQL-task beim hinzufügen von mehreren Spalten
Was ist die Fehlermeldung, die Sie bekommen? Wenn ich ähnliche Abfrage erstellt und zugewiesen zwei Variablen in der Ergebnismenge, bekam ich Fehler im Execute-SQL-Task selbst.
sobald ich hinzufügen, die zweite variable den SQL-task-Fehler mit keine Fehler.
SQL OLE-DB mit "Vollständige Ergebnis" zu setzen, Ergebnis, Name, 0, 1 zugeordnet, zwei variable: User:: E-Mail-und user -:: Fullname. Beide sind "Objekt" - Datentyp. Foreach-Schleife gesetzt, um ADO-Enumerator-Source-variable zu User::E-Mail. aber ist nicht auf die SQL-task beim hinzufügen von mehreren Spalten
Was ist die Fehlermeldung, die Sie bekommen? Wenn ich ähnliche Abfrage erstellt und zugewiesen zwei Variablen in der Ergebnismenge, bekam ich Fehler im Execute-SQL-Task selbst.
sobald ich hinzufügen, die zweite variable den SQL-task-Fehler mit keine Fehler.
InformationsquelleAutor user3112621 | 2013-12-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dachte ich, meine eigene Frage. Ich werde es hier, falls jemand anderes haben die gleiche Problem.
Auf die SQL-Abfrage, die in der ersten Spalte sollte dein key Ergebnis. zum Beispiel war mir die E-Mail.
In der SQL Aufgabe unter Allgemeinen, set Resultset "Vollständige Ergebnis rest"
In der SQL Aufgabe unter ResultSet, setzen Sie die variable mit "0" als Ergebnis-Namen, erstellen Sie eine variable als "Objekt" Datentyp für die E-Mail-Spalte und klicken Sie auf ok, um zu speichern und beenden. Beispiel: email_Ob
Durch die variable Fenster, erstellen Sie mehrere Variablen für die anderen Spalten, die als Objekt-und da bin ich mit diesem für die E-Mail-Aufgabe, die ich konvertieren müssen von Objekt zu String, also muss ich erstellen Sie eine weitere variable als string für jeden
Beispiel:
Foreach-Schleife Aufgabe Unter Sammlung ändern Sie die folgenden:
Enumerator: Foreach-ADO Enomator
ADO-Objekt-Source-variable: Wählen Sie die Schlüssel-variable (email_Ob)
Wählen Sie Zeilen in der ersten Tabelle
Foreach-Schleife Aufgabe unter Variable Mappings fügen Sie die variable mit String Datentyp der gleichen Reihenfolge, wie Sie auf Ihrem SQL-Abfrage. Klicken Sie auf OK, um zu speichern und beenden.
Nun können Sie die E-Mail-Aufgabe innen Foreach-Schleife und verwenden Sie diese String-variable als Teil der E-Mail oder Sie können es verwenden, für eine andere Aufgabe.
Hoffe, dass dies helfen und wenn Sie Fragen haben, fühlen Sie sich frei, zu Fragen. Tun auf diese Weise, ich war in der Lage, weitere Spalten hinzufügen, wie es brauchen.
Fehler: der Typ Der Wert zugewiesen, der variable "Benutzer::BaselineId" unterscheidet sich von der aktuellen Variablentyp. Variablen können nicht ändern, geben Sie während der Ausführung. - Variablen-Typen sind streng, außer für Variablen vom Typ Object.
InformationsquelleAutor user3112621