Ofte stillede spørgsmål - Base

From The Document Foundation Wiki
< Faq‎ | Base‎ | 143
Jump to: navigation, search

Hvordan kæder (tilknytter) jeg tabeller i tekstformat til en HSQL-database?

Du har en tekstfil (.txt, .csv), som du vil knytte til en LibreOffice-database (standardformat HSQL). Denne fil kan ændres uden for LibreOffice. Det kan for eksempel være en fil, der er genereret af en program. Vi vil ikke importere den ind i en database (hvilket vil give et ikke-dynamisk resultat), men kæde den, tilknytte den for at kunne afspejle ændringerne.

Princippet er at oprette en tabel i det tekstformat, der definerer strukturen, og så kæde den til kildefilen. Brugerfladen tillader ikke, at denne funktionstype udføres grafisk. Vi skal bruge menuen Funktioner ▸ SQL. Bortset fra det bruges tabellen som enhver anden tabel. Den bruges især sammen med standard HSQL-tabeller.

I dette eksempel opretter vi en tabel med et ID-felt (INTEGER) autoværdi, et tekstfelt (VARCHAR), et datofelt (DATE) og et numerisk felt (NUMERIC).

Det relevante datasæt (test.csv) skal være:

1;Product one;2008-07-01;23.10 
2;Product two;2008-07-02;15.50 
3;Product three;2008-07-03;11 
4;Product four;2008-07-04;13.50 

Hvordan oprettes tabellen

  • Åbn HSQL-databasen
  • Start Funktioner ▸ SQL
  • Indtast denne SQL i området Kør kommando og klik så på Udfør

Kun via Funktioner ▸ SQL

CREATE TEXT TABLE "NomTableLiaison" ("ID" INTEGER GENERATED BY DEFAULT AS IDENTITY, "NomProduit" VARCHAR(50), "DateDebut" Date, "Nombre" NUMERIC) 
SET TABLE "NomTableLiaison" SOURCE "test.csv;fs=\semi"</source> 

Bemærkninger

  • test.csv-filen lagres i samme katalog som databasen.
  • Tabellisten opdateres ikke automatisk; kør kommandoen Vis ▸ Opdater tabeller (kun aktiveret, når der vises Tabel-objekter).

Hvis du vil ændre noget, mens databasen er åben, er det muligt at koble tabel fra kildefilen med kommandoen:

Kun via Funktioner ▸ SQL

SET TABLE "NomTableLiaison" SOURCE OFF </source> 

Genopkobling sker med kommandoen:

Kun via Funktioner ▸ SQL

SET TABLE "NomTableLiaison" SOURCE ON</source>