Tools Import Geschätzte Lektüre: 6 Minuten Teil-Import Abb.1: Teilimport Über den Teilimport ist es möglich, einzelne Tabellen aus Textdateien zu importieren. Dabei unterscheidet Limbas zwischen Systemdateien und eigenen Textdateien. Systemdatei Dateien, die ausschließlich über die Export-Funktion in Limbas erstellt wurden, heißen Systemdateien. Diese bestehen aus einer Definitionsdatei und einer Datendatei, welche in einem tar Archiv zusammengefasst sind. Einstellungen und Feldtypen, sowie Größe und Name werden für diesen Dateityp automatisch erkannt. Die Option „anhängen“ ermöglicht einer bereits vorhandenen Tabelle die importierten Datensätze anzuhängen. Dabei wird eine neue ID erstellt. Es ist auch möglich datenbankübergreifend (z.B. von PostgreSQL zu MAXDB) Exporte und Importe durchzuführen. Textdatei Eigene Textdateien können über den Punkt „Textdatei“ importiert werden. Jeder Datensatz muss in einer Zeile stehen und jedes Element durch dasselbe Zeichen getrennt werden. Das Zeichen zur Feldtrennung (z.B. Komma) wird entsprechend im Feld „Trenner“ eingetragen.Die Textdateien dürfen als .gz, oder .zip komprimiert werden. Es muß darauf geachtet werden das der Server die entsprechenden Tools (unzip / gzip) bereitstellt.Die in „Vorschau“ angegebene Zeilen-Anzahl legt auch fest, wie viele Zeilen für die Berechnung der Länge/Größe eines Feldes genutzt werden sollen. Je mehr Zeilen, desto genauer aber auch langsamer ist der Import. Nach dem Import der Datei wird eine Vorschau angezeigt, in der die einzelnen Felder einem Datentyp zugewiesen und ihr Name sowie Beschreibung gesetzt werden können. Stimmt die Größe des Feldes nicht mit den Inhalten überein, dann werden diese abgeschnitten. Im Zweifelsfall kann die Einstellung „alle“ Zeilen verwendet werden.Wählt man „Struktur“ statt „Struktur und Daten“, dann wird eine neue Limbas-Tabelle mit den entsprechenden Feldern angelegt ohne die Datensätze aus der importierten Datei zu übernehmen. Für den Fall, dass UTF-8 Dateien in eine nicht UTF-8 Installation oder umgekehrt importiert werden sollen, kann man über die Auswahl „utf8 en/decode“ den Inhalt automatisch konvertieren lassen. Ist dies nicht der Fall, sollte der Punkt auch nicht ausgewählt werden, da ansonsten fälschlicherweise davon ausgegangen wird, Daten zu konvertieren, die schon im richtigen Format vorliegen.Sonderzeichen in Texten welche die Importdatei unbrauchbar machen würden (wie z.B. Zeilenumbrüche), können nach folgenden Regeln genutzt werden: #NEXTLINE# = Zeilenumbruch #TAB# = Tabulator #BACKSL# Backslash Abb.2: Textimport Eine Besonderheit ist die Möglichkeit, Daten an vorhandene Tabellen anzuhängen. In diesem Fall wird die Struktur der vorhandenen Tabelle ausgelesen und eine Zuweisung der Felder aus der Textdatei und der Datenbank angeboten. Die Feldtypen müssen zusammenpassen. Texte dürfen also z.B. nicht Zahlenfeldern zugewiesen werden. Abb.3: Textimport anhängen Komplett-Import Die mittels LIMBAS-Komplett-Export exportierten Daten lassen sich in vollem Umfang wieder herstellen. Die beim Export generierte Datei muss im Verzeichnis ./dependent/BACKUP abgelegt sein, damit im Select-Feld (Datum) ausgewählt werden kann und durch ‚reinstallieren‘ wieder importiert werden kann. Grunsätzlich wird die gleiche Technologie wie beim Teilimport für Systemdateien genutzt. Nur für alle Tabellen und nicht nur für eine Spezielle. Auch hier ist es möglich Datenbankübergreifend (z.B. von PostgreSQL zu MAXDB) Exporte und Importe durchzuführen. Remote-Import Über den Remote-Import können Daten direkt aus einer dritten Limbas-Installation importiert werden. Dabei ist es möglich, ganze zusammenhängende Gruppen oder Businessobjekte zu importieren, wie z.B. Auswahlpools, die zu einer Tabelle gehören oder Formulare bzw. Berichte. Für diese Funktion wird eine funktionierende SOAP Verbindung auf beiden Seiten benötigt. Abb.4: Remote-Import Konvertieren Die letzte Variante des Imports ist die Konvertierung. Die Idee dahinter ist, die zu importierende Tabelle über externe Programme wie z.B. Access und ODBC in die Datenbank zu importieren. Da LIMBAS davon allerdings noch nichts weiß, muss diese Tabelle erst noch konvertiert werden. Ähnlich zum Textimport können Feldname und Typ angepasst werden. Es ist auch möglich Systemtabellen wie z.B. die User-Tabelle „lmb_userdb“ zu konvertieren um somit die User-Tabelle in Limbas editieren zu können. Es versteht sich von selbst, das keine vorhandenen Felder von Systemtabellen daraufhin gelöscht werden dürfen. Neue Felder oder Verknüpfungen können allerdings ohne Einschränkungen hinzugefügt werden. Notiz: Die importierte Tabelle benötigt ein primary key Feld mit dem Namen „ID“. Dieses Feld muss eindeutig und darf nicht leer sein. Abb.5: Konvertierung Sonderfelder Select Auswahlfelder werden wie Textfelder behandelt. Ihr Inhalt entspricht dem Wert des Auswahl-Pools und muss exakt gleich geschrieben werden Multiselect Multiselect Felder sind Verknüpfungen zur Tabelle „lmb_select_d“ und „lmb_select_w“. Sie werden nicht importiert da mehrere Werte ausgewählt werden können. Statt dessen muss ein Skript zum nachträglichen Eintragen in diese Tabellen und den eigenen Bedürfnissen geschrieben werden. Der Inhalt des Tabellenfeldes ist die Anzahl der verknüpften Werte und kann nachträglich über die Systemtools berechnet werden. Verknüpfungen Verknüpfungen werden nicht importiert sondern müssen nachträglich erstellt werden. 1:n Beziehungen können über den Verknüpfungswizzard erstellt werden. Für n:m Beziehungen muss statt dessen ein Skript zum nachträglichen Eintragen in die entsprechende Verknüpfungstabelle geschrieben werden. ODBC-Import Mit dem ODBC-Import kann man Daten direkt aus einer der unterstützten Datenbanken importieren. Dazu müssen zunächst die Verbindungsinformationen analog zur Limbas Installation angegeben werden. Nach einem Klick auf abfragen erhält man eine Liste der gefundenen Tabellen und Views. Daten an vorhandene Tabelle anhängen Wenn man auf eine Tabelle in der Liste klickt und in dem Dropdown-Feld eine vorhandene Tabelle ausgewählt ist, werden die Datensätze der vorhandenen Tabelle angehängt. Links sind hier die Felder der existierenden Tabelle Kunden aufgelistet. Auf der rechten Seite kann man das entsprechende Feld der zu importierenden Tabelle auswählen. Die Daten können während des Imports noch durch eine Extension-Funktion verändert werden. Soll für das jeweilige Feld kein Wert importiert werden, kann der Haken in der Checkbox entfernt werden. Diese Einstellungen können auch als Template gespeichert und somit beim nächsten Import mit einem Klick geladen werden. Neue Tabelle erstellen Möchte man hingegen eine neue Tabelle erstellen, darf keine Tabelle im Dropdown Feld ausgewählt sein. Im oberen Bereich können Name, Bezeichnung und Tabellengruppe ausgewählt werden. Unten sind wieder alle Felder aufgelistet. Hier können zusätzlich Name, Bezeichnung, Beschreibung, Typ und – bei einigen Typen – auch die Größe eingestellt werden. Die Option Struktur erstellt eine leere Tabelle mit den angegebenen Feldern, wohingegen Struktur und Daten auch alle vorhandenen Datensätze importiert.