Universalimport in luxData 1 Funktionsbeschreibung 1.1 Übersicht Der luxData-Universal Importer ist eine luxData-Lizenzoption, welche den Import von Daten aus tabellarischen Strukturen (Excel oder CSV) in das luxData-Datenbankmodel erlaubt. Merkmale: - Flexible Zuordnung der Spalten (keine Änderungen im Excel nötig) - Import gesteuert durch Tabellen einer Access MDB - Zuordnung der Spalten kann importiert und exportiert werden - Unterstützt VB.NET-Ausdrücke (z. B. für inline Datenkorrekturen) - Unterstützt den Import von neuen Daten sowie das Updaten von bereits existieren Daten sixData GmbH • Seestraße 11 • D-83209 Prien am Chiemsee • Telefon: +49 (0) 8051/96557-0 Telefax: +49 (0) 8051/96557-66 • Internet: http://www.sixdata.de • E-Mail: [email protected] Gesellschaftssitz: Prien • Amtsgericht Traunstein HRB 14866 • Geschäftsführer: Armin Mühlberger 1.2 Schemadarstellung Importdefinition Ausgangsdaten (Excel / CSV) Spaltenzuordnung Import und Umwandelung luxData database model 1.3 Menüpunkt 15.06.2015 2 1.4 Importformular Das Importformular ermöglicht den Import in 4 Schritten: 1.4.1 Schritt 1: Datei auswählen Als erstes müssen Sie eine Datei (Excel/CSV) auswählen. Danach klicken Sie “Öffnen” und die Daten werden eingelesen und in der oberen Datentabelle dargestellt. Vor dem Import (Schritt 4) können Sie noch die Daten editieren(z. B. Um Fehler zu korrigieren). 1.4.2 Schritt 2: Importbereich festlegen Definieren Sie die Zellen, welche importiert werden sollen, durch einen rechteckigen Bereich mit der Maus oder durch Excel Notation, in dem dafür vorgesehen Feld. 1.4.3 Schritt 3: Spaltenzuordnung In diesem Schritt machen Sie die Zuordnung zwischen luxData-Attributen und dem Spaltenindex der eingelesenen Datei. In der ersten Spalte wählen Sie das luxData-Attribut, welches in der Import- 15.06.2015 3 Definition definiert ist (z. B. Leuchtstellennummer). In der zweiten Spalte (“Spaltenindex oder Ausdruck”) können Sie entweder den nullbasierenden Spaltenindex angeben oder einen VB.NET-Ausdruck benutzen, welcher es zum Beispiel erlaubt, die Werte zu bereinigen oder zu verknüpfen bevor sie in der Datenbank gespeichert werden. In den VB.NET-Ausdrücken können Sie auch auf die Spalten der eingelesen Datei zugreifen, indem Sie den Variablennamen “SourceRow“(Spaltenindex als Integer) benutzen. Die Spaltenzuordnung kann als XML exportiert/importiert werden. 1.4.4 Schritt 4: Daten importieren In diesem Schritt werden die Daten importiert. Dies kann auf zwei Arten geschehen, dies kann in den Importoptionen eingestellt werden: - Transaktion verwenden: Diese Einstellung sperrt die Datenbank während dem Import und erlaubt dass der Import wieder komplett rückgängig gemacht werden kann, falls ein Fehler auftreten sollte. Diese Einstellung sollte nur in Testdatenbanken verwendet werden, da während dem Import die Datenbank für Veränderungen gesperrt ist und sehr Wahrscheinlich kein anderer Benutzer mit luxData arbeiten kann. - Keine Transaktion: Mit dieser Einstellung wird keine Transaktion verwendet, deshalb kann auch der Import nicht rückgängig gemacht werden. Dies sollte normalerweise beim Import in die Produktivdatenbank genutzt werden. 1.4.5 Andere Importoptionen - Allgemein: Alle Aktionen in luxData-LOG-Tabelle mitloggen: Diese Einstellung loggt alle SQL DML Statements in der LOG-Tabelle mit, um zu einen späteren Zeitpunkt Probleme zu diagnostizieren. - Ziel-Datenbankverbindung: Normalerweise wird der Import in die gerade verbundene Datenbank durchgeführt, dies kann aber auch in eine andere Datenbank geschehen. - Import-Code: Der Standard-Import-Code kann mit angepasstem VB.NET-Script Code überschrieben werden, welcher den Import von benutzerspezifischen Transformationen erlaubt. 15.06.2015 4 1.5 Importdefinition und Importvorgang Die Importdefinition ist in einer Access-Datenbank definiert. Microsoft-Access wird deshalb verwendet, da die praktische Master/Detail-Darstellung in Access (hierarchische Grids) es leichter macht, komplexe Importdefinitionen zu editieren. Diese Importdefinition kann importiert/exportiert werden. Die Importdefinition besteht aus zwei Tabellen: - IXENT (= Import Export Entities) - IXATT (= Import Export Attributes) IXENT und IXATT sind durch den IXATT_FS_IXENT_ID_PARENT-Fremdschüssel verbunden, das bedeutet dass jede IXENT-Zeile mehrere IXATT-Zeilen haben kann. Jede Entität (repräsentiert durch eine IXENT-Zeile) wird nach einer vorgeschriebenen Reihenfolge verarbeitet welche in IXENT_ORDER festgelegt wird (weil der Import in ein relationales Datenbankmodel eine feste Reihenfolge benötigt). Für jede Entität werden die dazugehörigen IXATT-Zeilen verarbeitet. Diese Importfunktion ist nicht für Leuchtstellen spezialisiert und kann für jedes relationale Datenbankmodel verwendet werden. 15.06.2015 5