Předvánoční Black Friday Předvánoční Black Friday
Až 80% zdarma! Předvánoční BLACK FRIDAY akce. Více informací

Lekce 3 - Derby DB - Připojení k databázi

Java Databáze Apache Derby Derby DB - Připojení k databázi

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci, Derby DB - Spuštění a vypnutí databáze, jsme si databázi Apache Derby spustili jako službu. 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áze
  • URLAttributes - žá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.

Spuštění IJ pro Apache Derby

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.

Vytvoreni Projektu

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
  • derbyoptional­tools.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.

Nastavení Java projektu pro Apache Derby

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.

Připojení k databázi

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.

Kontrola výpisu 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ženo 72x (2.99 kB)

 

 

Článek pro vás napsal Robert Michalovič
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Programuji převážně v Javě SE,EE a trochu nativním C a CUDA. více viz.https://cz.linkedin.com/in/robert-michalovi%C4%8D-8a9b9498
Miniatura
Všechny články v sekci
DerbyDb
Miniatura
Následující článek
Derby DB - Možnosti připojení
Aktivity (3)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!