Lekce 23 - Derby DB - prohlížení databáze přes SQuirreL SQL
V předchozím kvízu, Kvíz - Bezpečnost a šifrování spojení s Derby DB v Javě, jsme si ověřili nabyté zkušenosti z předchozích lekcí.
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:
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:
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:
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 :
- Vytvoření databáze a tabulky s daty
- Nastaveni driveru k databázi
- 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:
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:
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,PostgreSQL, ..):
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:
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:
Po úspěšném připojení klikneme na záložku Metadata, která nám zobrazí informace o naší databázi:
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:
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 5x (6.82 kB)
Aplikace je včetně zdrojových kódů v jazyce Java