Frequently asked questions - Base

    From The Document Foundation Wiki
    < Faq‎ | Base
    This page is a translated version of the page Faq/Base/143 and the translation is 57% complete.
    Outdated translations are marked like this.


    Wie kann ich eine Texttabelle mit der internen HSQLDB nutzen?

    Zuerst einmal muss eine Texttabelle vorhanden sein:

    ID,Name,Geburtsdatum 1,Bob the Dog,1967-03-14 2,Käthe Bäcker,1983-12-24 3,"Groß, Willi",2003-07-01

    Diese Texttabelle hat den Namen "Geburtstage.csv"

    Der Zugriff zu einer Texttabelle kann nicht über die grafische Benutzeroberfläche erstellt werden. Stattdessen wird über Extras > SQL eine Texttabelle erstellt. Die Felder in der Texttabelle müssen dem entsprechen, was die Texttabelle in der entsprechenden Reihenfolge liefert. So muss

    • das Feld ID unverwechselbare Ganzzahlen,
    • das Feld Name in doppelte Anführungszeichen gesetzt werden, wenn es ein Komma enthält und
    • das Feld Geburtsdatum ein Datum in der Schreibweise YYYY-MM-DD enthalten.

    How to create the table

    • Open the HSQL database
    • Execute Tools ▸ SQL
    • Type the following SQL in the Command to execute zone then click Execute

    CREATE TEXT TABLE "Geburtstage" ("ID" INT GENERATED BY DEFAULT AS IDENTITY, "Name" VARCHAR(50) NOT NULL, "Geburtsdatum" DATE ); Die Texttabelle wird als Tabelle mit automatisch hochzählendem Primärschlüssel erstellt. Anschließend wird die Texttabelle, die sich im gleichen Verzeichnis wie die Datenbank befindet, eingebunden: SET TABLE "Geburtstage" SOURCE "Geburtstage.csv;ignore_first=true;encoding=UTF-8";

    Es erfolgt die Verbindung zu der Texttabelle. Die erste Zeile wird ignoriert, da sie in der Vorlage die Spaltenbeschriftungen enthält. Damit auch Sonderzeichen einwandfrei dargestellt werden, wird als Zeichencodierung UTF-8 gewählt.

    Damit die Tabelle auch in Base sofort sichtbar wird muss anschließend Ansicht > Tabellen aktualisieren gewählt werden.

    Die Optionen für die Tabelle können hier nachgeschlagen werden: http://hsqldb.org/doc/guide/ch09.html#set_table_source-section

    Die Nutzung von Texttabellen unterliegt folgenden Nachteilen:

    • Die Texttabelle kann gleichzeitig auch von externen Textprogrammen oder Tabellenkalkulationen geöffnet und bearbeitet werden. Datenverlust ist dann nicht auszuschließen.
    • Änderungen an bereits geschriebenen Datensätzen führen dazu, dass die entsprechende Zeile in der Originaldatei geleert wird und in der neuen Fassung an den Schluss der Tabelle

    angefügt wird. Wird z.B. in der obigen Datei der Datensatz 2 bearbeitet, so wird der Datensatz neue am Ende der Texttabelle angefügt. In der Textdatei erscheint dann eine leere Zeile. Die Zeilenreihenfolge entspricht nicht mehr der ursprünglichen Reihenfolge. Die Ansicht in Base zeigt allerdings weiter die korrekte Reihenfolge und unterdrückt diese Leerzeilen.

    -- Only with Tools> SQL
    SET TABLE "NomTableLiaison" SOURCE ON