Zum Hauptinhalt springen
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Chart

Automatisierter Batch CSV Import mit MS Access

Das Beispiel zeigt wie mit Hilfe des Access Adapters und dem Batch Modul mehrere CSV Textdateien automatisiert in eine MS Access Datenbank Tabelle importiert werden können.

MS Access CSV Batch ImportMS Access CSV Batch Import

Die fertige Definition können Sie sich im Verzeichnis Examples\DE\AccessAdapter\csv-batch-import-ms-access.fhd ansehen. Alle Beispiele sind im ZIP Archiv zum FlowHeater enthalten. Das Beispiel kann für die Access Versionen 97 bis Office/Access 2016 verwendet werden. Es werden die Datenbankformate MDB, MDE, ACCDB und ACCDE unterstützt.

Die Aufgabenstellung

Wir wollen mehrere (1 - n) CSV Textdateien, die in einem Verzeichnis vorhanden sind, automatisiert in eine MS Access Datenbank Tabelle importieren. Um diese Problemstellung lösen zu können, benötigen wir zwingend das Batch Modul (FHBatch.exe) sowie ein kleines CMD Shell Skript mit dem wir das ganze steuern.

Die Umsetzung

Da der FlowHeater in der Definition keine Wildcards, o.ä. zulässt, müssen wir für dieses Vorhaben einen kleinen Trick anwenden. Wir legen uns zuerst eine FlowHeater Definition an, mit der wir eine CSV Textdatei problemlos von Hand importieren könnten. Nachdem wir den CSV Import getestet haben speichern wir die Definition unter den Namen CSV-Batch-Import-MS-Access.fhd ab. Dann erzeugen wir eine CMD Shell Skript Datei batch-import.cmd mit folgenden Inhalt.

 

Das CMD Shell Skript (batch-import.cmd)

@echo off

REM Hier ggf. den Installationspfad zur FHBatch.exe anpassen!
set FHBATCH="C:\Program Files\FlowHeater V4\BIN\FHBatch.exe"

%FHBATCH% /ReadFileName C:\Temp\*.csv import.fhd

Hiermit verarbeitet das Batchmodul alle CSV Dateien die im Order C:\Temp vorhanden sind. 

Hinweis: Alle vorhandenen CSV Dateien müssen den gleichen Aufbau haben, so wie es in der FlowHeater Definition import.fhd angegeben wurde!

 

Ältere FlowHeater Versionen unterstützen Wildcards über den Parameter /ReadFileName noch nicht. Hier müssen Sie folgendermaßen vorgehen.

Das CMD Shell Skript (batch-import.cmd) - Version 1.x

@echo off
forfiles /M batch-import*.csv /C "cmd /c ..\..\..\Bin\FHBatch.exe /ReadFileName @path csv-batch-import-ms-access.fhd"

Der Befehl forfiles (klicken Sie hier um mehr Informationen zum forfiles Befehl zu erhalten) ermittelt als erstes alle CSV Textdateien im aktuellen Verzeichnis die dem Muster batch-import*.csv entsprechen. Dies geschieht mit der Option /M und dem nachfolgenden Muster. Für jede gefundene CSV Textdatei wird dann das Batch Modul (FHBatch.exe) mit folgenden Parametern aufgerufen.

      FHBatch.exe /ReadFileName @path csv-batch-import-ms-access.fhd

Die Option /ReadFileName überschreibt die in der FlowHeater Defintion (csv-batch-import-ms-access.fhd ) angegebene CSV Textdatei mit der gerade aktuelle zu verarbeiteten Datei (= @path).

Import/Export Aufgaben automatisieren

Automatisieren mit Hilfe des FlowHeater Servers

Mit dem FlowHeater Server können sehr leicht solche Import/Export Aufgaben geplant und in regelmäßigen Zyklen ausgeführt werden. Mit dem FlowHeater Server ist es außerdem möglich Verzeichnisse zu überwachen und neue CSV Dateien unverzüglich nach der Erstellung automatisiert verarbeiten zu lassen. Der FlowHeater Server bietet zudem die Möglichkeit Email Benachrichtigungen inkl. der generierten Dateien zu verschicken.

Automatisieren über den Windows Aufgabenplaner

Das CMD Shell Skript können wir, so wie es ist, manuell über einen Doppelklick ausführen. Wenn Sie das ganze z.B. auf einen Windows Server automatisch ausführen lassen wollen dann können Sie dieses CMD Shell Skript über einen Windows Task zeitgesteuert aufrufen.

Den Windows Aufgabenplaner finden Sie unter Systemsteuerung->Verwaltung->Aufgabenplanung

 

Microsoft®, Windows®, Access® sind eingetragene Markenzeichen der Microsoft Corporation

FlowHeater Logo

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.