Zielony Smok - logo witryny

Apache Derby: Baza 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ładjdbc:derby:jar(c:/Przyklady/baza_urzedow.jar)baza_urzedow

Folder bazy danych tylko do odczytu można umieścić w pliku JAR albo ZIP.

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 *.zippodalibyśmy:

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

Klasa R095_jar_zip.java
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

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.