Aria

Apache Derby – tutorial

Apache Derby: użytkowanie bazy danych w pliku
JAR lub ZIP

W plikach *.zip i w plikach *.jar nie można przechowywać pliku derby.properties.

Dostęp do bazy danych w pliku JAR

Aby uzyskać dostęp do naszej bazy danych musimy w połączeniu
wyspecyfikować:

jdbc:derby:jar(ścieżka do pliku *.jar)(ścieżka do bazy w
pliku *.jar)

Na przykład
jdbc:derby:jar(c:/Przyklady/baza_urzedow.jar)baza_urzedow

Dostęp do bazy danych w pliku ZIP

Aby uzyskać dostęp do naszej bazy danych musimy w połączeniu
wyspecyfikować:

jdbc:derby:jar(ścieżka do pliku *.zip)(ścieżka do bazy w
pliku *.zip)

Gdyby w poniższym przykładzie był plik *.zip
podalibyśmy:

jdbc:derby:jar(c:/Przyklady/baza_urzedow.zip)baza_urzedow

Przykład

Przykład w klasie
R095_jar_zip
.

package aderby.specyf;

import aderby.DerbyUtil;

import java.sql.*;

public class R095_jar_zip {
    private static final String baza =
     "(C:/Przyklady/baza_urzedow.jar)baza_urzedow";
    private static final String selectData =
     "SELECT * FROM urzad";

    public static void main(String[] args) {
        DerbyUtil.setReadOnlyProps();
        DerbyUtil.startDerbyEngine(DerbyUtil.embdriver);
        Connection conn = DerbyUtil.connectJarDB(baza, "");
        Statement stat = null;
        ResultSet rs = null;
        try {
            stat = conn.createStatement();
            rs = stat.executeQuery(selectData);
            while (rs.next()) {
                System.out.println(rs.getString(1) +
                 " | " + rs.getString(2));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        DerbyUtil.close(stat);
        DerbyUtil.close(conn);
        DerbyUtil.close(rs);
        DerbyUtil.shutdownEmbeddedDB(baza);
        DerbyUtil.shutdownDerbyEngine();
    }
}

Wynik

1 | Nazwa urzędu
2 | Urząd Skarbowy
3 | Urząd Skarbowy
4 | Urząd Skarbowy
5 | Urząd Skarbowy
6 | Urząd Skarbowy
7 | Urząd Skarbowy
8 | Urząd Skarbowy
...

Pliki do ściągnięcia

R095_jar_zip.zip (klasa uruchamiająca)

Aktualny (tworzony narastająco) plik module-info.java

Aktualny (tworzony narastająco) plik DerbyUtil.java

Pliki tworzone narastająco zastępują poprzednie pliki o tej samej
nazwie i działają dla wszystkich wcześniej opublikowanych przykładów
we wszystkich wpisach w projekcie. W przypadku pliku
module-info.java
może być potrzebne skreślenie niepotrzebnych wpisów.