Portál AbcLinuxu, 6. května 2025 11:38

SQuirreL

16. 10. 2002 | Leoš Literák
Články - SQuirreL  

Univerzální databázový klient.

Úvod

Zhruba před rokem jsem hledal nějakého databázového klienta pro Oracle a nalezl jsem SQuirreL. Přestože jeho myšlenka byla dobrá, nebyl ještě moc použitelný a postrádal jsem spoustu vlastností. Když jsem se na něj podíval nyní, málem jsem jej nepoznal.

SQuirreL (veverka) je grafický klient přístupující k databázi skrze rozhraní JDBC verze 2. Díky tomu jej můžete používat s libovolnou databází, pro kterou někdo napsal ovladač JDBC. Seznam podporovaných (rozuměj testovaných) ovladačů je velmi dlouhý a obsahuje všechny hlavní databáze. Najdeme zde například MySQL, PostgreSQL, Oracle, MS SQL Server, SAPDB, Interbase (FireBird) i Sybase.

Instalace

Domovská stránka projektu se nachází na adrese http://squirrel-sql.sourceforge.net/. Odtud si stáhněte instalační balíček squirrel-sql-1.1rc1-install.jar (případně novější). Program vyžaduje JRE verze 1.3 a dokáže využít i nové vlastnosti Javy 1.4. Instalaci spustíte příkazem java -jar squirrel-sql-1.1rc1-install.jar. Spustí se grafický instalátor, ve kterém si vyberete adresář, do něhož má být SQuirreL nainstalován. Doporučuji si stáhnout i pluginy, které rozbalíte do podadresáře plugins. K dispozici jsou tato rozšíření:

Look and Feel
Různá témata měnící vzhled aplikace
SQL Validator
Validuje SQL příkaz vůči normě ISO SQL99
jEdit
Integruje populární jEdit, získáte tak například zvýraznění syntaxe
SQL Scripts
Nahrávání SQL příkazů do/ze souboru
MySQL
Zobrazuje procesy a otevřené tabulky
Oracle
Podpora specifických objektů, zdrojový text uložených procedur
Konfigurace

Program spustíte příkazem squirrel-sql.sh. Nejdříve musíte nakonfigurovat ovladače. Najděte si v seznamu svou databázi a začněte ji editovat. Pokud je její ovladač v cestě $CLASSPATH, u databáze je zobrazen zelený symbol. V opačném případě musíte ovladač najít na disku a přidat přes volbu Extra Class Path.

Driver

Lehký úvod do JDBC

Sun vytvořil aplikační rozhraní zvané JDBC pro snadný přístup k databázím. Hlavní výhodou je, že jeden kód bude fungovat s různými databázemi. Lišit se budou maximálně jednotlivé SQL příkazy. Výrobci databází obvykle dodávají JDBC ovladače, například pro MySQL jej najdete najdete zde pod názvem MySQL Connector/J (následník MM driveru). Ovladač si někde rozbalíte a do Extra Class Path vložíte soubor mysql-connector-java-2.0.14-bin.jar. Podobný postup platí pro všechny databáze, ovladače můžete najít na stránkách Sunu.

Posledním přípravným krokem je vytvoření Aliasu, což je zástupce určité databáze. Nejedná se o nic složitého, nejdříve vyberete ovladač, pak upravíte URL, aby ukazovalo na vaši databázi a zadáte přihlašovací jméno. Během připojení budete vyzváni k zadání hesla, to bohužel není možné uložit.

Alias

Používání

Po úspěšném připojení se otevře okno s databází. Máte na výběr mezi stromovým zobrazením objektů v databázi a zadáváním SQL příkazů. Automaticky se zvolí objektový model, při kterém můžete procházet jednotlivé databáze, zjišťovat jejich tabulky, uložené procedury, pohledy (view), indexy, sekvence, bloby a další data.

Info screen

Při zvolení tabulky máte k dispozici spoustu informací. Například definici jednotlivých sloupců, primární klíče, indexy či náhled na obsah tabulky. SQuirreL je naprosto dokonalý nástroj, pokud potřebujete prozkoumat neznámé schéma.

Content screen

Asi byste nebyli moc spokojeni s SQL klientem, který by neumožnil vykonávat vaše SQL příkazy. Samozřejmě SQuirreL tuto vlastnost má. Po zvolení SQL tabu se ukáže intuitivní grafické rozhraní, do kterého můžete zadávat své příkazy. Do první textové plochy zadáváte své příkazy, které odešlete stisknutím tlačítka nebo klávesovou zkratkou Ctrl-Enter. Výsledná data se zobrazí do prostřední části jako úhledná tabulka. Pokud preferujete textový výstup, není problém, v konfiguraci si můžete vybrat mezi oběma způsoby zobrazení.

SQL screen

Tip pro vzdálené připojení

Někdy je nutné přistupovat ke vzdálené databázi. Jenže komu by se chtělo posílat data po síti nešifrovaně a vůbec umožnit logování odjinud než z localhostu, že? Naštěstí pokud máte na serveru přístup na ssh, není nic jednoduššího, než vytvořit ssh tunel.

Ukažme si tedy praktický příklad pro mysql. Příkazem

ssh -L3333:localhost:3306 server.cz

si otevřeme bezpečný tunel mezi pracovní stanicí a serverem server.cz. Cokoliv pošleme na port 3333 se přenese na server.cz na port 3306, kde naslouchá mysql. Ve SQuirreLu si nakonfigurujeme další alias a jako URL použijeme následující řetězec:

jdbc:mysql://localhost:3333/abc

Tímto způsobem získáme bezpečný přístup ke vzdálené databázi. Samozřejmě ssh tunel je naprosto obecný postup, takže jej můžete použít i s jinými klienty.

Závěr

SQuirreL dospěl do velice kvalitního univerzálního SQL klienta. Pokud pracujete s více databázemi, nebo pokud vám nevyhovuje klient vaší databáze, mohli by se vám hodit. Pro někoho může být nevýhodou, že se jedná o aplikaci napsanou v Javě, na druhou stranu jej takto spustíte kdekoliv a ani jeho nároky nejsou přehnané.

Další články z této rubriky

Týden na ITBiz: Svět IT a burzy, umělá inteligence, Nvidia a outsourcing
Linuxové foto novinky: pozvolná evoluce
PCLinuxOS 2017.2 MATE - tak trochu zvláštní linuxová distribuce
Krátký pohled na Fedoru 25, Wayland a GNOME 3.22
Naprosto ničím nezajímavé Lubuntu 16.10

Diskuse k tomuto článku

18.10.2002 11:40 bigsam72 | skóre: 1
Rozbalit Rozbalit vše TORA
Odpovědět | Sbalit | Link | Blokovat | Admin
Ahoj, hodne dobrej software je tez TORA toolkit for oracle je to free pokud vim je to napsany v C takze to nepotrebuje javu ( Grrr java ) a umi to MySQL,Oracle a mozna i dalsi... Je to dost dobry Cau Sam
21.10.2002 17:10 Jan Brejcha [honzik@post.cz]
Rozbalit Rozbalit vše TORA
Díky za tip na TOra, teď již nainstalováno a je to to nejlepší, co jsem zatím objevil. (umí to navíc PostgreSQL a ODBC) Bohužel ve Windows má jak TOra, tak Qt knihovny licenci na 30 dní...
18.10.2002 22:07 Miloslav Ponkrac
Rozbalit Rozbalit vše Jenom kdyby tam nebyla ta Java
Odpovědět | Sbalit | Link | Blokovat | Admin
Je to pekne, ale kdyz v Jave to neni ono.
20.10.2002 10:19 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Jenom kdyby tam nebyla ta Java
jestli mas aspon 700MHz procesor a 256 MB RAM, tak java je na desktopu naprosto v pohode pouzitelna. Az na jiny vzhled GUI prvku nepoznas, ze to neni nativni aplikace.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
20.10.2002 12:20 Miloslav Ponkrac
Rozbalit Rozbalit vše Jenom kdyby tam nebyla ta Java
Nevim, nevim, v praci delam na 500 MHz Pentium a 384 MB pameti, coz uz by se melo blizit k hranici, kterou uvadite, a Java opravdu fuj. Je velmi vyrazne pomalejsi, nez nativni aplikace. Pravda, jsou to Windowsy. Na Sybase databaze existuje Javovy klient a nativni klient, a ze nevite, ve kterem vsichni delame? A to i Ti, kteri maji mnohem rychlejsi pocitace. Javovska aplikace je jednak vzdycky pomalejsi, nez nativni, takze pokud si zvyknu na rychlou praci, potom verim, ze Java je pouzitelna az na mnohem vyssich taktech procesoru. A dale Javovska aplikace je vzdycky cizi, jeji ovladani neni svazano s konvencemi systemu, neovlada se stejne, nevyuziva vsechny moznosti, apod.. Muze-li si clovek vybrat mezi podobnou nativni a Javovskou aplikaci, vetsina lidi si myslom sahne po nativni, protoze IMHO Java aplikace je IMHO z nouze cnost. Ja vim, ze se Jave asi casem nevyhneme, ale rikam bohuzel.
28.4.2003 12:39 Jakub Hegenbart
Rozbalit Rozbalit vše Jenom kdyby tam nebyla ta Java
"rychlost" je v tomto případě velmi relativní pojem. Říkáte, že je velmi výrazně pomalejší, než nativní aplikace? Ale CO je pomalejší? Start programu? To nepochybně ano. Jeho běh? Jistě, ale měřil jsem si výkon na svém počítači a pokud nativně zkompilovaný program v C jel na 100%, pak Java od Sunu běhala na 50% a od IBM na 80-105% (ano, občas je JVM rychlejší než zkompilované céčko, protože sám dynamicky kompiluje a některé sekvence instrukcí dokáže asi vygenerovat lépe než některé nativní kompilátory.) Podotýkám, že nejlépe mi vyšlo GCC se všemi optimalizacemi, na které jsem přišel. Ale Java se nemá za co stydět. A pamatujte: Jsou i nativní kompilátory Javy, není problém "předkompilovat" Javovský SW do strojáku rovnou.
22.10.2002 08:32 Pavel Baxa
Rozbalit Rozbalit vše Drobná nevýhoda Veverky
Odpovědět | Sbalit | Link | Blokovat | Admin
Docela mi na SQuirreLu chybí možnost přímé editace dat v tabulce. Pro každou drobnou změnu musím v SQL napsat nějaké "update blablabla". Jinak si nemám na co stežovat, jako prohlížeč to běhá hezky.
22.10.2002 10:12 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Drobná nevýhoda Veverky
souhlas, toto by bylo hezke. tusim, ze to je v todo listu
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.