Kann nicht eine SQL-Aufgabe innerhalb einer Foreach-Schleife
Ich bin neu in SSIS, und ich verlasse mich auf ein Buch, so sollte dies eine leicht zu beantwortende Frage.
Ich die Daten importieren wollen, aus, alle text-Dateien in einem Verzeichnis. So erstelle ich eine Foreach-container.
Das erste, was ich tun möchte innerhalb der Schleife ausführen einer SQL-task zu löschen und erstellen der Landung Tabelle.
Dann möchte ich das laden der Daten in die Landung Tabelle aus dem markierten text-Datei mit einem Daten-Fluss-Vorgang.
Dann möchte ich ausführen einer SQL-Aufgabe laden Sie die SQL-Tabellen von der Landung Tisch und einige Berechnungen durchführen.
Das problem ist, dass innerhalb einer Foreach-Schleife, ich kann keine Verbindung eine SQL-Aufgabe zu einem Daten-Fluss-Vorgang. Die Botschaft, die ich bekomme, ist
Nicht erstellen-Anschluss. Nicht
verbinden Sie die ausführbaren Dateien, die aus verschiedenen
Container.
So, wie mache ich das?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie wäre es mit einem Screenshot? Ich habe diese 2 Komponenten in ein-Schleifen-container vor mit kein problem, meine Vermutung ist, dass die GUI ist ein wenig irreführend hier.
Ich weiß, dies ist ein Alter thread. Ich wollte noch hinzufügen, es ist jedoch in Fall ist es hilfreich, für niemanden.
In meinem Fall hatte ich die foreach-Schleife container mit einigen FTP-Aufgaben und-Skript-Aufgaben in der it und ich muss noch hinzufügen, mehr innerhalb dieser foreach-Schleife. Umbenannt habe ich die foreach-Schleife und dann wurde eine neue Skript-Aufgabe an der Unterseite der Strömung des foreach-Schleifen-container. Als ich versuchte, schließen Sie die aktuelle FTP-Task am Ende der Strömung des foreach-loop-container, um das neue Skript Aufgabe, dass ich am unteren Rand Hinzugefügt, bekam ich die Fehlermeldung "Cannot create connector. Kann keine Verbindung zu den EXE-Dateien von verschiedenen Containern."
Also schleppte ich die aktuelle FTP-Aufgaben und-Skript-Aufgaben außerhalb der umbenannte foreach-loop-container (oder ich vermute, ich hätte Sie geschnitten und geklebt außerhalb der foreach-loop-container). Ich habe dann schleppten Sie alle wieder in die umbenannte foreach-Schleifen-container. Ich habe dann Verband Sie alle wieder erfolgreich, ohne immer diese Fehlermeldung.
So scheint es, dass, wenn Sie benennen Sie einen foreach-Schleifen-container, OHNE vollends fertig, wenn Sie eine neue Aufgabe hinzufügen-Symbol an der Unterseite der Fluss der umbenannte foreach-loop-container, die Sie vielleicht oder wird der Fehler über nicht in der Lage eine Verbindung von verschiedenen Behältern (da ich vermute, das umbenannte foreach-loop-container wird als "anders" zu sein als der alte name von der gleichen foreach-Schleifen-container.
Ich habe ein ähnliches problem, wo ist so aussah, als ob beide Komponenten wurden in der for-Schleife. In der Erwägung, dass (ähnlich wie rageit Kommentar) eine sub-compnents waren tatsächlich ganz oben statt innerhalb der foreach-Schleife.
Quick-fix war es, schneiden Sie die Komponente, wählen Sie die foreach-Schleife und fügen Sie ihn in.
Es sieht aus wie Sie versuchen, die Verbindung einer Sql-Aufgabe innerhalb einer foreach-Schleife, um einen Datenfluss-task, der nicht in die Schleife. Wenn es das ist, was Sie beabsichtigen, müssen Sie die Verbindung aus der ForEach-Schleife und verbinden Sie es mit dem Datenfluss. Wenn, jedoch, Sie wollen beide die SQLTask und der Datenfluss für die Ausführung innerhalb der ForEachLoop, die Sie benötigen, um den Datenfluss in der ForEach-Schleife, und dann werden Sie in der Lage sein, um verbinden, die SQLTask, um den Datenfluss.
War keiner mein Fall. Ich zog es aus verschiedenen container in einen neuen container. Ich hatte so erstellen Sie die Aufgabe. Es ist keine Eigenschaft, Ihnen zu zeigen, was container holding die Aufgabe. Definitiv GUI-bug. Ich bin mit BI-2008
Lösung, die mein problem gelöst ist, schneiden Sie die Komponente und fügen es wieder. Wenn es ein bietet von Aufgaben schneiden Sie alle Aufgaben nacheinander zu löschen, Ihre verbindungen und fügen Sie Sie zurück und verbinden Sie dann von der Spitze.