Zielony Smok - logo witryny

Apache Derby: aktualizacja wersji

Aktualizacja wersji (upgrade)

Gdy zmieni się wersja systemu Apache Derby nadal można korzystać z baz danych utworzonych w poprzedniej wersji, ale nie można korzystać z nowych cech systemu Derby. Jest to tak zwany miękka aktualizacja (soft upgrade).

Aby móc korzystać z nowych cech systemu Derby należy dokonać tzw. pełnej aktualizacji (full upgrade) bazy danych

Pełna aktualizacja dokonuje zmian w tabelach systemowych i oznacza bazę danych jako zaktualizowaną do nowej wersji.

Aktualizacja pełna jest nieodwracalna i nie ma możliwości przywrócenia bazy danych do poprzedniej wersji, a więc i korzystania z niej przy użyciu poprzedniej wersji systemu Apache Derby.

Nie jest możliwe zaktualizowanie bazy danych zapisanej na mediach tylko do odczytu np. CD czy DVD

Przygotowanie do aktualizacji

  1. Wykonaj kopię zapasową bazy przed pierwszym połączeniem
  2. W razie potrzeby zaktualizuj ścieżki CLASSPATH i MODULEPATH tak, aby prowadziły wyłącznie do plików JAR nowej wersji. Można to sprawdzić przy użyciu narzędzia sysinfo. Wystarczy wprowadzić z linii poleceń Windows komendę java org.apache.derby.tools.sysinfo

Aktualizacja

Aktualizacja następuje przez połączenie z bazą danych

Aktualizacja miękka

Po prostu łączysz się z bazą danych tak jak dotychczas

jdbc:derby:c:/java/rozliczeniadb

Aktualizacja pełna

Łączysz się z bazą danych dodając atrybut 'upgrade=true' do połączenia.

jdbc:derby:c:/java/rozliczeniadb;upgrade=true

Przykład

Klasa R114_Upgrade
package aderby.security;

import aderby.DerbyUtil;

import java.sql.Connection;

public class R114_Upgrade {
    public static void main(String[] args) {
        DerbyUtil.startDerbyEngine(DerbyUtil.embdriver);
        Connection con = DerbyUtil.connectEmbeddedDB("c:/bt4", ";upgrade=true");
        DerbyUtil.shutdownEmbeddedDB("c:/bt4");
        DerbyUtil.shutdownDerbyEngine();
    }
}