Content Protection by DMCA.com

Eksport bazy do csvBase OpenOffice w menu Narzędzia posiada opcję eksportu bazy, która nie do końca działa. Dlatego, prawdopodobnie, znikła ona z LibreOffice, co nie znaczy, że możliwość eksportu nie istnieje.

Jak wyeksportować dane z osadzonej bazy na silniku HSQL w Base

Opisana metoda eksportu tabeli zadziała w OpenOffice i LibreOffice. Z menu wybieramy Narzędzia, następnie SQL.

OO Eksport SQL
Eksport tabeli do pliku csv w Base OpenOffice.

Gdzie wydajemy polecenie:

SELECT * INTO TEXT "NazwaPliku" FROM "NazwaEksportowanejTabeli"

które wyeksportuje całą tabelę – wszystkie rekordy z wszystkimi kolumnami do pliku NazwaPliku.csv. Plik zostanie stworzony w katalogu, w którym zlokalizowana jest nasza baza (rozszerzenie CSV zostanie dodane automatycznie).
Korzystając z SQL można wybrać co dokładnie chcemy z tabeli wyeksportować, np:

SELECT "id", "nazwa", "adres" INTO TEXT "PlikEksportu" FROM "Tabela" WHERE "adres" IS NOT NULL

I wszystko byłoby pięknie, gdyby nie brak polskich znaków w wyeksportowanym pliku CSV.

Base i polskie znaki, czyli jak wymusić kodowanie UTF-8

Aby ustawić kodowanie UTF-8 w naszej bazie danych w Base należy dodać do pliku: \database\properties następujący wiersz: textdb.encoding=UTF-8.
Przykładowa zawartość pliku properties:

#HSQL Database Engine 1.8.0.10
#Fri Mar 18 20:30:03 CET 2022
hsqldb.script_format=0
runtime.gc_interval=0
sql.enforce_strict_size=true
hsqldb.cache_size_scale=8
readonly=false
hsqldb.nio_data_file=false
hsqldb.cache_scale=13
version=1.8.0
hsqldb.default_table_type=cached
hsqldb.cache_file_scale=1
hsqldb.lock_file=true
hsqldb.log_size=10
modified=no
hsqldb.cache_version=1.7.0
hsqldb.original_version=1.8.0
hsqldb.compatible_version=1.8.0

No dobra. A gdzie znaleźć ów plik properties?

  1. Zmieniamy rozszerzenie naszej bazy z NaszaBaza.odb na NaszaBaza.zip
  2. Wypakowujemy zawartość archiwum ZIP NaszaBaza.zip
  3. Gdzie plik properties jest w katalogu database
  4. Otwieramy go do edycji i na końcu dodajemy textdb.encoding=UTF-8 i zapisujemy.
  5. Pakujemy wszystko ZIP’em do NaszaBaza.zip
  6. Zmieniamy NaszaBaza.zip na NaszaBaza.odb

Teraz spokojnie możemy eksportować tabele do plików CSV. Z tym, że nie do końca, bo format kodowania pliku NazwaPliku.csv jest ustawione na ANSI – tu znajdziesz jak zmienić kodowanie znaków z ANSI na UTF-8.
I to by było na tyle.

Aha, jeśli eksportujemy tabele z więcej niż jednej bazy, czyli musimy zmienić kodowanie w kilku bazach, wygodniej jest napisać plik przetwarzania wsadowego, który zwolni nas z klikania. Ale o tym już wkrótce.