IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

3. diel - Derby DB - Pripojenie k databáze

V minulej lekcii, Derby DB - Spustenie a vypnutie databázy , sme si databázu Apache Derby spustili ako službu. V dnešnom tutoriále sa k databáze pripojíme a to ako cez ij, tak cez Javu.

Pripojenie databázy

Parametre pripojenia

Univerzálne pripojenie (connection) používame v prípade pripojenia cez IJ k vypnutej databáze na localhost. IJ nástroj databázu sám zapne. Tvar pripojenia je nasledovné: jdbc:derby:databaseName;URLAttributes

V prípade pokusu o sieťové pripojenie k zapnutej databáze je tvar nasledovné: jdbc:derby://server[:port]/databaseName[;URLAttributes=value[;...]]

  • databaseName - meno databázy
  • URLAttributes - žiadny, jeden alebo viac URL parametrov
  • server - localhost, IP adresa (LAN, MAN, WAN)
  • port - TCP port, na ktorom bude databázový server počúvať

Najzaujímavejšie sú URL atribúty. Tu si uvedieme len tie najdôležitejšie. Zvyšné sa nachádzajú v Referencie DB.pdf v manuáli.

atribút pripojenia popis
bootPassword = heslo Heslo, napr. "Fsd653EEER" pre zašifrovanú databázu
create = true Ak je true a databázy neexistuje, potom sa počas pripojenia vytvorí
shutdown = true Ak je true, tak to danú databázu vypne (ukončí)
databasename = meno databázy Označuje meno databázy, s ktorou chceme pracovať
user = používateľ Definujeme používateľa, ktorý sa chce k danej databáze pripojiť
password = heslo Tu definujeme heslo daného užívateľa, ktorý sa prihlasuje
... parametrov je oveľa viac ...
Pripojenie cez IJ nástroj

Spustíme ako administrátori IJ nástroj (napr. C:/ProgramFiles/JavaJDK/db/bin/ij.bat) a predvedieme si pripojenie do databázy. IJ nástroj sa dá využiť ako v prípade spusteného databázového servera, tak i vypnutého servera. V tejto časti si predvedieme pripojenie pri vypnutej databáze.

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 prípade, že databázový server bude spustený, je nutné do pripojenie zadať IP adresu.

ij version 10.13
ij> connect 'jdbc:derby://localhost:1527/databaze01;create=true;user=uzivatel1;password=heslo1';
ij> disconnect;
ij> exit;

Po vykonaní oboch variantov sme práve vytvorili databázu s menom databaze01, jej vlastníkom čiže administrátorom je používateľ menom uzivatel1 a jeho heslo je heslo1. Atribút url create=true hovorí, že ak databázy neexistuje, potom je nutné ju vytvoriť. Daný príkaz môžete vykonať vo Windows cez CMD alebo PowerShell, odporúčam ako administrátor, aby nevznikli problémy s právami prístupu.

Spustenie IJ pre Apache Derby - DerbyDb

Pripojenie cez Javu

Opäť si vytvoríme Java SE projekt v IDE. V tutoriále budem používať Eclipse IDE. Skontrolujeme, či máme Java perspektívu a vytvoríme projekt. V menu vyberieme File -> New -> Java Project. Pomenujeme projekt a nastavíme JRE Java8.

vytvorenie projektu - DerbyDb

Ako ďalšie si pridáme externé knižnice do nášho projektu. Tzv. vykonáme pridanie knižníc do CLASSPATH. Ide o tieto externé knižnice:

  • derbyclient.jar
  • derbytools.jar
  • derbyoptional­tools.jar

Klikneme (označíme si) náš projekt a stlačíme ALT + ENTER alebo hore vyberieme Project -> Properties. Zvolíme Java Build Path, vyberieme záložku Libraries -> Add External JARs. Po pridaní daných knižníc zvolíme APPLY a potom OK. Vpravo v Project Exploreri vidíme aké * .jar sa nám do projektu pridali.

Nastavenie Java projektu pre Apache Derby - DerbyDb

Ako ďalšie si vyrobíme jednoduchú triedu, ktorá sa len pripojí a odpojí k databáze. Opäť pridáme parameter create=true, ktorý nám zaručí, že sa databáza vytvorí pri 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");
    }
}

Teraz niečo o zdrojovom kóde. Z dôvodu zjednodušenia sú všetky premenné a metódy typu static. V statickom cyklu sa pokúsime vytvoriť inštanciu driver (Connectoru), ktorý potrebujeme k databáze. Prakticky tento úsek nie je nutný, ale dávam ho tam pre test funkčnosti Connectoru. Sami vidíte, že s danou inštanciou už nikde nepracujeme. java.sql.Connect je objekt, ktorý slúži na pripojenie k databázam. Pred spustením daného kódu samozrejme nezabudnite spustiť databázový server, inak nedôjde k spojeniu a bude vyvolaná výnimka.

Pripojenie k databáze - DerbyDb

Keď sa pozrieme do výpisu konzoly, potom kontrolné výpisy potvrdili úspešné vytvorenie databázy. Potvrdenie je vykonané cez výpis do príkazového riadku, kde si môžeme všimnúť vzniku adresára databaze01, ktorý slúži ako adresár databázy.

Kontrola výpisu databázy - DerbyDb

Nabudúce, Derby DB - Možnosti pripojenia , si rozoberieme spustenie databázového servera cez Javu a možnosti prihlasovanie k databáze.


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 489x (2.99 kB)

 

Predchádzajúci článok
Derby DB - Spustenie a vypnutie databázy
Všetky články v sekcii
DerbyDb
Preskočiť článok
(neodporúčame)
Derby DB - Možnosti pripojenia
Článok pre vás napísal Robert Michalovič
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Programuji převážně v Javě SE,EE a trochu nativním C a CUDA. více viz.https://cz.linkedin.com/in/robert-michalovic
Aktivity