IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 23 - Derby DB - prohlížení databáze přes SQuirreL SQL

V dnešním tutoriálu si ukážeme instalaci a práci se správcem (prohlížečem) databáze SQuirreL SQL.

Jedná se o rozšířený univerzální nástroj pro připojení k databázím a práci s nimi. Je free a celý naprogramován v Javě. Správce SQuirreL SQL má v sobě podporu pro více databází. Jedná se o užitečný nástroj pro práci s databázemi.

Stažení programu SQuirreL SQL

SQuirreL SQL se nachází na tomto odkazu. Vybereme si verzi vhodnou pro náš operační systém:

Stazeni Squirrel - Derby DB

Jelikož se jedná o JAVA aplikaci, je nutno mít nainstalovanou JAVU (případně OpenJDK či její implementace) konkrétně JRE ve verzi 8,9,10 a vyšší a nastavenou PATH.

Instalace programu

Po stažení a spuštění se objeví okno s instalací. Přestože to vypadá jako instalace, nejedná se o instalaci, pouze o nastavení a kopírování. Tudíž se SQuirreL SQL neodinstalovává, stačí jej pouze smazat. Do dalších kroků tzv. instalace se dostaneme přes tlačítko NEXT:

StartInstalace - Derby DB

Druhý krok je informativní a můžeme jej přeskočit. V třetím kroku provedeme nastavení cesty instalace programu (kopírování s nastaveními). Ve čtvrtém kroku nastavíme jazyk a podpory(plug-iny) pro různé databáze. Zde si vybereme DERBY DB a volitelný plugin Čeština a další dle potřeby:

Nastaveni Pluginů databazí - Derby DB

V dalším kroku dojde ke kopírování do zvoleného adresáře. V posledním kroku jde o začlenění do Windows a vytvoření ikony na ploše.

Spuštění programu

Pokud máme nainstalovanou Javu 09,10,11, a vyšší můžeme mít problém se spuštěním přes ikonu na ploše. To lze vyřešit spuštěním přímo přes soubor squirrel-sql.jar. Soubor squirrel-sql.jar nalezneme v adresáři, kde jsme SQuirreL SQL nechali nakopírovat, nebo v nastavení PATH. Po spuštění je nutno provést tři klíčové kroky :

  1. Vytvoření databáze a tabulky s daty
  2. Nastaveni driveru k databázi
  3. Nastaveni účtu(alias) k databázi

Jednotlivé kroky si postupně probereme.

Vytvoření databáze a tabulky s daty

Databázi databazeE01 a tabulku tabulkaE01 bychom mohli založit přes příkaz IJ. My si je založíme tímto kódem:

package e_zaloha;
import java.sql.*;
import javax.swing.JOptionPane;
public class E01_TvorbaDatabaze {
    static {
        try {
            Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();  }
        catch (InstantiationException e) {
            e.printStackTrace();    }
        catch (IllegalAccessException e) {
            e.printStackTrace();    }
        catch (ClassNotFoundException e) {
            e.printStackTrace();    }   }
    private static Connection connect=null;
    private static Statement statement = null;
    private static void pripojeniKDatabazi(){
        try {
            connect = DriverManager.getConnection("jdbc:derby:D:\\JavaProjekty\\Java.DB.Derby\\X_DerbyDB\\bin\\databazeE01"
                    + ";create=true;user=zaloha1;password=heslo1");
            System.out.println("Podarilo se pripojit databazeE01");
        }
        catch (Exception e) {
            JOptionPane.showMessageDialog(null," Nepodarilo se pripojit databazeE01 ");
            e.printStackTrace();
        }
    }
    private static void odpojimeDatabazi()  {
        try {
            if (connect != null)  connect.close();
            System.out.println("\nPodarilo se odpojit od databaze databazeE01");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    private static void vytvoreniTabulkySDaty(){
        //  Vytvorime tabulku pro data
        if(connect == null) return;
        try {
            statement = connect.createStatement();
            statement.executeUpdate("create table tabulkaE01 (id INT not null primary key GENERATED ALWAYS AS IDENTITY(START WITH 1, INCREMENT BY 1),"
                    + "firstName VARCHAR(20), lastName VARCHAR(20), title VARCHAR(20), hodnota INT )");
            System.out.println("Podarilo se vytvorit tabulku tabulkaE01");
        }
        catch (SQLException e) {
            System.out.println("Nepovedlo se vytvorit tabulku tabulkaE01");
            e.printStackTrace();    }
        //  Vytvorime data a naplnime jimi tabulku
        if(statement == null) return;
        try {
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno1','Prijmeni01','Text001',111111)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno2','Prijmeni02','Text002',222222)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno3','Prijmeni03','Text003',333333)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno4','Prijmeni04','Text004',444444)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno5','Prijmeni05','Text005',555555)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno6','Prijmeni06','Text006',666666)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno7','Prijmeni07','Text007',777777)");
            System.out.println("Podarilo se ulozit data databazeE01");
            statement.close();
        }
        catch (SQLException e) {
            System.out.println("Nepovedlo se ulozit data databazeE01");
            e.printStackTrace();    }
    }
    public static void main(String[] args) {
        System.out.println("Start Programu ");
        pripojeniKDatabazi();
        vytvoreniTabulkySDaty();
        odpojimeDatabazi();
        System.out.println("Konec Programu ");
    }
}

Do cesty k databázi si vložíme cestu k naší databázi. Do user a password vložíme svého uživatele a heslo.

Nastaveni driveru k databázi

Nastavení driveru představuje přidání konektoru pro databázi. V levém sloupci klikneme na Drivers. V zobrazeném seznamu vybereme Apache Derby Client a klikneme na ikonu tužky(editace). Poté v záložce Java Class Path vybereme driver:

Nastaveni driverů databazí - Derby DB

Drivers lze zobrazit také přes menu Window - View Drivers, nebo klávesovou zkratkou CTRL+SHIFT+D.

Můžeme také vytvořit nový driver přes ikonu +. Poté přepneme na záložku Extra Class Path a stiskneme Add. Otevře se okno, v kterém najdeme cestu k derbyclient.jar, nebo označíme všechny jar soubory, které jsou v adresáři db/lib/.. k dispozici:

Derby DB

Pak stiskneme Open a OK. Červený křížek u driveru se změní na zelenou fajfku. Podobně postupujeme i v případě jiných databázových serverů (např. MSSQL,MySQL,Pos­tgreSQL, ..):

Derby DB

Nastaveni účtu(alias) k databázi

Nejdříve spustíme databázový server přes soubor startNetworkServer.bat. Pak se přepneme na záložku Aliases. Poté musíme vytvořit nové připojení. Klikneme na tlačítko +. Otevře se nám okno, do kterého vložíme naše údaje:

Derby DB

K databázi se můžeme připojit např. přes adresářovou strukturu tak, že do URL vložíme cestu k naší databázi databazeE01.

Stiskem tlačítka Test vyzkoušíme připojení k databázi.

Nakonec stiskneme OK a alias se vytvoří. Nyní se připojíme. Dvakrát klikneme na náš alias. V otevřeném okně Connect to:... stiskneme Connect:

Derby DB

Po úspěšném připojení klikneme na záložku Metadata, která nám zobrazí informace o naší databázi:

Derby DB

Tyto informace můžeme získat i programově přes objekt DatabaseMetaData. Ukážeme si v dalších článcích.

V záložce Content vidíme data, které jsme vložili do tabulky při založení databáze:

Derby DB

V příští lekci, Derby DB - Schémata a tabulky, si vysvětlíme rozdíl mezi tabulkami a schématy. Vvyzkoušíme si tvorbu a odstranění schémat.


 

Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 4x (6.82 kB)
Aplikace je včetně zdrojových kódů v jazyce Java

 

Předchozí článek
Kvíz - Bezpečnost a šifrování spojení s Derby DB v Javě
Všechny články v sekci
Derby DB
Přeskočit článek
(nedoporučujeme)
Derby DB - Schémata a tabulky
Článek pro vás napsal Robert Michalovič
Avatar
Uživatelské hodnocení:
1 hlasů
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