Dies sollte ziemlich geradlinig sein -
- einen
ForEach
Behälter For Each File
Einstellung konfiguriert verwenden. Folder name
wäre der gemeinsame Standort. File Name
sollte ein Platzhalter sein (Beispiel: * .csv)
- Erstellen Sie eine Tabelle in SQL mit dem Namen
LoadedFiles
, die die Namen der geladenen Dateien enthält. Beachten Sie, dass Sie beim Erstellen des ForEach
Containers auch eine Variable erstellt haben, die den Dateinamen enthält. Überprüfen Sie jetzt im Container ForEach
, ob der Wert in dieser Variablen bereits in der Tabelle LoadedFiles
vorhanden ist. Wenn nicht, dann erst laden.
Ich habe angenommen, dass alle Dateien die gleichen Metadaten (Spaltennamen und Datentypen) haben. Selbst wenn sie dies nicht tun, können Sie dieselbe Logik anwenden.
Wenn dies nicht offensichtlich ist, müssen Sie eine neue Zeile in die Tabelle LoadedFiles
einfügen, wenn Sie sich entscheiden, eine Datei zu laden.
EDIT: Es scheint, dass der gleiche Dateiname nicht den gleichen Inhalt für das OP gleichzusetzen. In diesem Fall sollte er einfach eine MERGE
in der SQL-Tabelle anstelle einer Blindeinfügung machen.
MERGE
auf dem Primärschlüssel und IF MATCHED
nichts anderes tun INSERT
wenn Daten zu überprüfen ist anders, ich denke, Sie müssen diese Daten sehen. Markierung unklar. –
Hi ich meine, wenn Korrektor im Dateiinhalt geändert wird. –