Testdaten für MS Access Datenbank generieren
In diesem Beispiel geht es darum für eine Access Datenbank Tabelle t_Personen Massen Test Daten zu erzeugen.
Die fertige Definition können Sie sich unter Examples\DE\AccessAdapter\ms-access-test-daten-erzeugen.fhd ansehen. Alle Beispiele sind im ZIP Archiv zum FlowHeater enthalten. Das Beispiel verwendet eine Microsoft Access 2000 Datenbank fh.mdb, die Datenbank ist ebenfalls im ZIP Archiv enthalten. Anwendbar ist das Ganze für die MS Access Version 97, 2000, 2002, 2003 und 2008. Der MS Access Adapter unterstützt zudem die Datenbankformate MDB, MDE, ACCDB und ACCDE.
Adapter Auswahl
Lassen Sie uns beginnen, starten Sie den FlowHeater und legen über den Menüpunkt Datei->Neu eine neue Definition an. Wählen Sie im folgenden Dialog auf der Read (linken) Seite den TestDataAdapter und auf der Write (rechten) Seite den AccessAdapter aus und bestätigen den Dialog mit OK.
Access Adapter konfigurieren
Öffnen Sie den Configurator für den AccessAdapter und wählen als Datenbankname die fh.mdb Datenbank aus. Zusätzlich deaktivieren Sie die Checkbox "Daten aktualisieren (Update), diese Option wird hier nicht benötigt. Hinweis: Die Definition wird dadurch schneller ausgeführt.
Access Tabellenfelder einlesen
Wechseln Sie nun auf den Reiter "Felder / Datentypen" und wählen die Tabelle "t_Personen" aus und klicken den Einlesen Button, der Dialog sollte so aussehen wie unten dargestellt. Verlassen Sie den Dialog über OK.
TestData Adapter Konfiguration
Öffnen Sie nun den Configurator für den TestDataAdapter, wechseln Sie auf den Reiter "Felder / Datentypen" und klicken hier den Button "Felder vom Write Adapter übernehmen" an. Löschen Sie danach die Felder ID sowie Anrede und Vorname aus der Feldliste heraus.
Hintergrund: Das Feld ID ist vom Typ Autowert, darum kümmert sich die Microsoft Access Datenbank selbst. Für die Felder Anrede und Vorname verwenden wir einen kleinen Trick, wir lassen uns Anrede und Vorname als Listenwert in einem Feld generieren.
Fügen Sie nun ein neues Feld "Anrede / Vorname" hinzu, siehe unten. Wählen Sie nun nacheinander alle Felder an und tragen Sie hierfür folgende Werte ein
- Anrede / Vorname: Wählen Sie als Generierungstyp "List" aus und tragen Sie hier beliebige Vornamen mit der dazugehörigen Anrede, getrennt durch ein Leerzeichen ein.
z.B.
Herr Robert
Frau Manuela
... - Name: Wählen Sie ebenfalls den Generierungstyp "List" aus und tragen Sie hier beliebige Nachnamen ein.
z.B.
Stark
Müller
Huber
... - Straße: Gleiches Vorgehen wie oben nur mit beliebigen Straßennamen
- PLZ: Wählen Sie als Generierungstyp "Number" aus und stellen als Wertebereich 1000 (Tausend ist gewollt) - 99999 ein.
- Ort: Wählen Sie als Generierungstyp "String" aus und tragen für die Länge 10 - 50 Zeichen ein. Bei den Zeichen löschen sie die Zahlen am Anfang inkl. des Leerzeichens einfach weg, somit werden nur Buchstaben verwendet.
- Geburtsdatum: Wählen Sie als Generierungstyp "DateTime" aus und stellen den Wertebereich auf 01.01.1950 - 31.12.2000 ein.
- Bemerkung: Wählen Sie hier ebenfalls String aus und geben Sie eine Länge von 0 - 1000 Zeichen an.
Verlassen Sie nun den Dialog über OK.
Fertige Definition - MS Access Testdaten generieren
Ziehen Sie nun 2x einen Split Heater auf den Designer und Verbinden Sie beide Eingänge mit dem Feld "Anrede / Name" Klicken Sie nun den ersten Split Heater an und geben für Find ein Leerzeichen an. Im zweiten Split Heater geben Sie ebenfalls ein Leerzeichen als Trennzeichen an und geben zusätzlich als Return Spalte den Wert 1 an. Verbinden Sie nun den Ausgang des 1. Heaters mit dem Feld Anrede, den 2. Heater verbinden Sie mit dem Feld Vorname des Access Adapters.
Die Felder für Name und Straße können wir 1 : 1 verbinden, hier brauchen wir keine zusätzliche Transformation, evtl. können Sie später selbst noch zur Straße eine Hausnummer einfügen.
Für das Feld PLZ verwenden wir den Format Heater. Ziehen Sie diesen auf den Designer und verbinden Sie den Eingang sowie den Ausgang mit dem Feld PLZ. Klicken Sie auf den Format Heater mit einen Doppelklick, damit sich der Eigenschaften Dialog öffnet. Tragen Sie hier als Datentyp Int ein, stellen die Ausrichtung auf Right ein, geben als Auffüllzeichen eine "0" an und geben zum Schluss die eine Länge von 5 vor. Hiermit weisen wir den FlowHeater an die PLZ auf 5 Stellen Rechtsbündig zu formatieren und ggf. fehlende Zeichen mit dem Zeichen 0 Links aufzufüllen.
Eines müssen wir hier noch tun, klicken Sie auf den Reiter "Format" und stellen für die Zahlenformatierung noch ein, dass keine Tausender Trennzeichen gewünscht sind!
Ziehen Sie nun 2x einen SubString Heater, 1x eine ToUpper Heater, 1x einen ToLower Heater sowie einen Append Heater auf den Designer. Versuchen Sie mal selbst die Heater so zu Verbinden, dass der Ortsnamen immer mit einem Großbuchstaben beginnt und danach mit Kleinbuchstaben weitergeht. (Hinweis: In einer weiteren Version wird das über die Heater ToLower sowie ToUpper direkt funktionieren.
Zum Schluss ziehen wir 2x einen Clone Heater auf den Designer. Die Heater benötigen wir nur, damit die 2 Felder für Geburtsdatum, sowie die Bemerkung nicht quer durch unsere Definition laufen. Somit sieht die Definition optisch etwas ansprechender aus. Jetzt muss das Ganze nur noch funktionieren. Starten Sie den Test und Ausführen Dialog und starten das Ganze erst mal im Test Modus. Sind Sie zufrieden mit dem Ergebnis, brauchen Sie nur noch die CheckBox "Test lauf" deaktivieren und die Definition erneut ausführen, danach stehen die Test Daten in der Access Datenbank Tabelle t_Personen zur Verfügung.
Microsoft®, Windows®, Access® sind eingetragene Markenzeichen der Microsoft Corporation