Lekce 3 - Derby DB - Připojení k databázi
V předchozím kvízu, Kvíz - Nastavení, zapnutí a vypnutí Derby DB v Javě, jsme si ověřili nabyté zkušenosti z předchozích lekcí.
V dnešním tutoriálu se k databázi připojíme a to jak přes ij, tak přes Javu.
Připojení k databázi
Parametry připojení
Univerzální připojení (connection) používáme v případě připojení
přes IJ k vypnuté databázi na localhostu. IJ nástroj databázi sám zapne.
Tvar připojení je následující:
jdbc:derby:databaseName;URLAttributes
V případě pokusu o síťové připojení k zapnuté databázi je tvar
následující:
jdbc:derby://server[:port]/databaseName[;URLAttributes=value[;...]]
databaseName
- jméno databázeURLAttributes
- žádný, jeden nebo více URL parametrůserver
- localhost, IP adresa (LAN, MAN, WAN)port
- TCP port, na kterém bude databázový server naslouchat
Nejzajímavější jsou URL atributy. Zde si uvedeme jen ty nejdůležitější. Zbylé se nacházejí v Reference DB.pdf v manuálu.
Atribut připojení | Popis |
---|---|
bootPassword=heslo | Heslo, např."fsd653EEER" pro zašifrovanou databázi |
create=true | Pokud je true a databáze neexistuje, pak se během připojení
vytvoří |
shutdown=true | Pokud je true , tak to danou databázi vypne (ukončí) |
databaseName=jméno databáze | Označuje jméno databáze, se kterou chceme pracovat |
user=uživatel | Definujeme uživatele, který se chce k dané databázi připojit |
password=heslo | Zde definujeme heslo daného uživatele, který se přihlašuje |
... | parametrů je mnohem více ... |
Připojení přes IJ nástroj
Spustíme jako administrátoři IJ nástroj (např.
C:/ProgramFiles/JavaJDK/db/bin/ij.bat
) a předvedeme si připojení
do databáze. IJ nástroj se dá využít jak v případě
spuštěného databázového serveru, tak i vypnutého serveru. V této části
si předvedeme připojení při vypnuté databázi.
ij version 10.13 /**** pripojime se k databazi, pokud neexistuje vytvorime ji ****/ ij> connect 'jdbc:derby:databaze01;create=true;user=uzivatel1;password=heslo1'; /**** odpojime od databaze ****/ ij> disconnect; /**** ukoncime ij program****/ ij> exit;
V případě, že databázový server bude spuštěn, je nutné do připojení zadat IP adresu.
ij version 10.13 ij> connect 'jdbc:derby://localhost:1527/databaze01;create=true;user=uzivatel1;password=heslo1'; ij> disconnect; ij> exit;
Po provedení obou variant jsme právě vytvořili databázi se jménem
databaze01
, jejím vlastníkem neboli administrátorem je uživatel
jménem uzivatel1
a jeho heslo je heslo1
. Atribut url
create=true
říká, že pokud databáze neexistuje, pak je nutné
ji vytvořit. Daný příkaz můžete provést ve Windows přes CMD nebo
PowerShell, doporučuji jako administrátor, aby nevznikly problémy s právy
přístupu.

Připojení přes Javu
Opět si vytvoříme Java SE projekt v IDE. V tutoriálu budu používat Eclipse IDE. Zkontrolujeme, jestli máme Java perspektivu a vytvoříme projekt. V menu vybereme File -> New -> Java Project. Pojmenujeme projekt a nastavíme JRE Java8.

Jako další si přidáme externí knihovny do našeho projektu. Tzv.
provedeme přidání knihoven do CLASSPATH
. Jedná se o tyto
externí knihovny:
- derbyclient.jar
- derbytools.jar
- derbyoptionaltools.jar
Klikneme (označíme si) náš projekt a stiskneme ALT + ENTER nebo nahoře vybereme Project -> Properties. Zvolíme Java Build Path, vybereme záložku Libraries -> Add External JARs. Po přidání daných knihoven zvolíme APPLY a poté OK. Vpravo v Project Exploreru vidíme jaké *.jar se nám do projektu přidaly.

Jako další si vyrobíme jednoduchou třídu, která se pouze připojí a
odpojí k databázi. Opět přidáme parametr create=true
, jenž
nám zaručí, že se databáze vytvoří při spojení.
package pripojeni; import java.sql.*; public class PripojeniDERBY { private static Connection connect = null; static { try { Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { System.out.println("Problem s nactenim driveru - nutne pridat do CLASSPATH"); } } private static void pripojeniKDatabazi() { try { connect = DriverManager.getConnection("jdbc:derby://localhost:1527/databaze01;" + "create=true;user=uzivatel1;password=heslo1"); System.out.println("Podarilo se pripojit"); } catch (Exception e) { System.err.println("Nepodarilo se pripojit"); } } private static void odpojimeDatabazi() { try { if (connect != null) { connect.close(); } System.out.println("Podarilo se odpojit od databaze"); } catch (SQLException e) { System.out.println("Nepodarilo se odpojit od databaze"); e.printStackTrace(); } } public static void main(String[] args) { System.out.println("Start Programu"); pripojeniKDatabazi(); odpojimeDatabazi(); System.out.println("Konec Programu"); } }
Nyní něco o zdrojovém kódu. Z důvodu zjednodušení jsou všechny
proměnné a metody typu static
. Ve statickém cyklu se pokusíme
vytvořit instanci Driveru (Connectoru), který potřebujeme k databázi.
Prakticky tento úsek není nutný, ale dávám jej tam pro test funkčnosti
Connectoru. Sami vidíte, že s danou instancí již nikde nepracujeme.
java.sql.Connect
je objekt, který slouží k připojení k
databázím. Před spuštěním daného kódu samozřejmě nezapomeňte spustit
databázový server, jinak nedojde ke spojení a bude vyvolána výjimka.

Když se podíváme do výpisu konzole, pak kontrolní výpisy potvrdily
úspěšné vytvoření databáze. Potvrzení je provedeno přes výpis do
příkazového řádku, kde si můžeme všimnout vzniku adresáře
databaze01
, který slouží jako adresář databáze.

Příště, Derby DB - Možnosti připojení, si rozebereme spuštění databázového serveru přes Javu a možnosti přihlašování k databázi.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkamiStaženo 534x (2.99 kB)