Frage

Ich brauche mit einem SSIS-Paket helfen. Ich habe einen Server, der eine DB-Tabelle als Teil eines täglichen Job auffüllt. Dann wird der Server schreibt ein Verfahren Statustabelle mich wissen zu lassen, dass ihre getan.

Der Prozess Statustabelle sieht wie folgt aus:

Job   | Ready | Downloaded
myJob    True     False

Ich mag einen Prozess schaffen, wenn der Bereit-Flag auf myjob überprüfen wird wahr und gehen oder wenn Falsch ist, wird es für 30 mintues schlafen, bevor es erneut versuchen und zu 5 Mal wiederholt werden.

Ich habe diesen Artikel auf, wie der Schlaf Teil zu tun: http: // blogs.conchango.com/jamiethomson/archive/2006/10/23/SSIS_3A00_-Put-a-package-to-sleep.aspx

Ich dachte, ein Dateisystem Aufgabe, mit dem Prozessstatus Tabelle zuzugreifen. Dann setzen Sie eine Variable auf den Wert des Ready Flag. Dann hat eine For-Schleife Container, wenn sie wahr Ausbrechen der for-Schleife und weiter, und wenn falsch Lauf des Schlaf dann einen anderen Dateisystem-Task ausführen und die Variable auf den Wert des Bereit-Flag gesetzt. Die wichtigste Frage, die ich habe ist, wie kann ich eine Variable auf den Wert des Bereit-Flag?

War es hilfreich?

Lösung 2

Ich war in der Lage, es herauszufinden.

Ich habe eine Datenfluss-Aufgabe mit einer OLE DB-Quelle und Skriptkomponente im Innern. Das Script Component gelesen und übernimmt die Datenbankdaten, hat einige grundlegende, wenn sonst Logik und schreibt auf eine Systemvariable.

ich später, dass der Systemvariable in einem for-Schleife.

Andere Tipps

Wenn Sie ein For-Schleifencontainer haben, können Sie eine „ExecuteSQL“ Task platzieren Sie Ihren Statuswert (das heißt falsch) zu extrahieren, dann eine „ScriptTask“ verwenden zu speichern oder sie nach Bedarf zu manipulieren. Sie können dann auch weiterhin den Inhalt des für Schleife Behälter verarbeiten (dies kann eine Datenfluß Aufgabe sein, oder was auch immer Sie verwenden).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top