2016-07-29 12 views
0

Ich schreibe ein SSIS-Paket, das nach einem Zeitplan zum Abrufen eines Ordnerspeicherorts ausgeführt wird.SSIS für jede Schleife - wie werden kopierte Dateien gehandhabt?

Die Dateien werden von einer foreach-Schleife aufgenommen, diese Dateien sind jedoch ziemlich groß und benötigen daher Zeit, um in das Verzeichnis kopiert zu werden.

Ich möchte wissen, wie sich SSIS verhält, wenn eine foreach-Dateischleife in einem Verzeichnis mit einer Datei ausgeführt wird, die noch kopiert wird. Überspringt sie die Datei, da sie nicht vollständig ist? Besteht die Gefahr, dass SSIS versucht, eine kopierte Datei zu laden?

Antwort

1

Nein, es gibt keine Gefahr für die Datei. Es wird auch nicht teilweise kopiert werden (es sei denn, Sie entfernen es, nachdem das Kopieren von Dateien abgeschlossen ist.) Das wäre eine Katastrophe. ;) Es hat nichts damit zu tun, dass die Loop an ihrem Platz ist. Die File System Task ist die, die Sie berücksichtigen müssen. Es verhält sich so, als ob Sie eine Datei manuell kopieren. Was würde passieren, wenn du das tust? Auch was sonst tun Sie, nachdem Sie mit dem Coping der Datei von Quelle in den Zielordner Angelegenheiten fertig sind wie [Sind Sie zu entfernen?]

Kurz „nichts würde Happen“. Keine Teildateien werden kopiert.

+0

Ich frage nach der Schleife, weil es die Liste der Dateien erzeugt, wenn die Schleife es nicht abholt, dann ist alles gut, wenn es das tut, könnte es in einer archivierten Datei resultieren, die nicht geladen worden ist. –

+0

Oh! Dann müssen Sie es manuell im Archiv reparieren. –

+0

Die Foreach-Schleife führt nur Schleifen durch. Die Dateisystemaufgabe verarbeitet die Datei. Idealerweise sollte die Logik für die Archivierung später angewendet werden, um eine solche Verwirrung zu vermeiden. –