Skip to content

JDBC ...

Ich selber bin kein grosser Fan von Java, muss aber eingestehen, dass mit JDBC eine der brillantesten Treiberimplementierungen überhaupt erfunden wurde. JDBC steht für Java Database Connectivity und bildet eine Schnittstelle, damit Java-Programme auf Datenbanken zugreifen können.

Es gibt vier verschiedene Typen von JDBC-Treibern. Der oben verlinkte Wikipedia-Artikel erklärt die einzelnen Typen genauer. Im Groben ist Typ 1 eine Schnittstelle zwischen JDBC und ODBC, Typ 2 ist eine Schnittstelle zwischen JDBC und lokal installiertem Treiber, Typ 3 ist eine Schnittstelle zwischen JDBC und einem Brücken-Server, der eine Verbindung zur eigentlichen Datenbank herstellt und Typ 4 ist eine Implementation des Treibers in reinem Java.

In der Praxis habe ich am häufigsten mit Typ 2- und Typ 4-Treibern zu tun, wobei Typ 4 das ist, was man haben möchte, da der ganze Treiber (in der Regel) aus nur einer einzigen Datei besteht und diese Datei funktioniert (wiederum in der Regel) überall dort, wo Java installiert ist.

Beispiele für die Anwendung:

Ich benutze sowohl unter Linux, wie auch im Büro unter Windows, SQuireL SQL zum generieren von Abfragen für MySQL, Sybase, SQLite, ...

Für Perl Datenbank-Anwendungen nutze ich DBD::JDBC als Proxy-Server, um auch immer mit der gleichen Syntax und ohne die Not, lokal binäre Treiber installieren zu müssen, auf Datenbanken zugreifen zu können.

Gerade gestern durfte ich eine hysterisch historisch gewachsene Datenbank untersuchen (reverse engineering), dabei ist SchemaSpy eine sehr grosse Hilfe (ich habe bei der Implementation des DB2 Teils ein wenig mitgeholfen), allerdings sollte davon die aktuelle beta verwendet werden, da das Release einen Fehler hat. Wer es lieber grafischer mag, kann auch SchemaSpyGUI als Oberfläche benutzen.

Eclipse installieren ...

Weil ich schon mehrfach dazu befragt wurde, wie man Eclipse mit Subversion verheiratet und welche Versionen und Plugins für Administratoren, Buch-Autoren und Web-Entwickler interessant sind und da ich die Anleitung an anderer Stelle schon einmal per E-Mail versendet habe, schreibe ich sie auch noch einmal hier ins Blog.

Eclipse-Basis-Installation:

Von der Eclipse-Homepage einfach eine Eclipse-Version herunterladen. Das, was wir brauchen, liefert jede der angebotenen Versionen. Ich habe bis jetzt immer Eclipse Classic (ganz unten auf der Seite) verwendet und teste gerade Eclipse for PHP Developers. Nach einigen Wochen arbeiten mit der PHP Developer Variante kann ich sagen, dass sie völlig ausreichend ist.

Die Funktionen sind die gleichen oder sie können mit Plugins und/oder Konfigurationsaufwand nachgerüstet werden.

An vielen Stellen ist zu bemerken, dass Eclipse für die Java-Entwicklung geschrieben wurde, was aber der Nutzbarkeit keinen Abbruch tut.

Eclipse lief bei mir nicht zufriedenstellend, weil ich in den Bug hineingelaufen bin. In Kurzform: Die GTK-Implementation bei Ubuntu hat einen Fehler, daher sollte mal diese Umgebungsvariable
export GDK_NATIVE_WINDOWS=true
setzen. Aber auch dann funktioniert ein Neustart durch Eclipse-Mittel nicht sauber (nach jeder Plugin-Installation wird man dazu aufgefordert, Eclipse neu zu starten). Also besser von Hand stoppen und neu starten.

Nach dem Start werden Ihr gebeten, ein Workspace-Verzeichnis anzugeben, ich bleibe dort beim Default. Bei dem darauffolgenden Fenster wählt Ihr dann einfach Workbench (oder Workspace) aus, was immer da steht.

Den Proxy stellt Ihr via Window / Preferences ein (einfach bei "type filter text" "proxy" eintragen).

Plugins:

Das wichtigste Plugin ist die Subversion-Anbindung. CVS ist in der Basis-Version schon enthalten. Wir installieren Subclipse von der Homepage des Projektes. Bitte wählt das Plugin passend zum Server aus, bei mir ist auf dem Server Subversion 1.5, daher ist Subclipse 1.4.x die richtige Version (bitte nicht nach dem Sinn der Nummerierung fragen).

In Eclipse auf Help / Install New Software... / Add... Nur die URL eintragen, auf "Ok" drücken und warten bis die Daten aktualisiert wurden. Dann den kompletten Zweig "Subclipse" und "Subclipse SVNKit Option" installieren. Zweiteres sorgt dafür, dass ein reiner Java-Client benutzt wird, der sich dann auch nicht mit einem lokal laufenden Client ins Gehege kommen kann. In den weiteren Boxen alles bestätigen. Bei der Aufforderung zum Neustart auf "No" und von Hand beenden und neu starten.

Nach dem Neustart in der rechten oberen Ecke auf das Symbol mit dem hochgestellten "+" klicken (im Normalfall steht dort Java oder PHP, je nach Version) und "SVN Repository Exploring" auswählen.

In linken Teil mit der rechten Maustaste klicken und New / Repository Location... auswählen. Als URL die URL des Projektes, das Ihr verwenden wollt, eintragen, Username und Passwort verwenden und schon könnt Ihr in dieser Ansicht durch das entfernte Repository browsen.

Rechte Maustaste auf das angelegte Repository und Checkout... bringt es dann auch auf Eure Platte. "Check out as a project in the workspace", dann auf Finish und die aufkommende Frage bestätigen.

Wenn Ihr jetzt wieder auf das Symbol mit dem hochgestellten "+" klickt und Java bzw. PHP auswählt, könnt Ihr im linken Fensterteil das lokale Repository sehen. Wenn Ihr Euch dort durchklickt, seht Ihr neben den Dateinamen die Revsionsnummer, das Eincheckdatum und den User, der das eingechecked habt.

In Eclipse ist es wichtig, dass Ihr die rechte Maustaste benutzt. Vorerst ist die Funktion "Team" und dort der Punkt "Commit..." für das Einchecken und "Update" für das Auschecken das wichtigste. Nicht unerwähnt lassen möchte ich die Fuktion "Replace With" und dort "Latest from Repository" um eine lokale Änderung durch die Daten aus dem Repository zu überschreiben.

Wenn Ihr die dotFiles ebenfalls sehen wollt, folgt der Anleitung von Stack Overflow.

Die weiteren Plugins:

TeXlipse baut die Brücke zu Java, es gibt eine gute Anleitung auf der Homepage, die auch die Installationsanleitung enthält. Wichtig zu wissen ist, dass Aspell für die Rechtschreibprüfung benutzt wird, daher lohnt es sich die entsprechenden Pakete im Ubuntu zu installieren.

Für Shellskripte gibt es das ShellEd-Plugin, von der Projektseite bei Sourceforge solltet Ihr Euch aber derzeit noch die Version 1.0.4 herunterladen und davon die ZIP-Datei (sonst stimmen die Pfade nicht). Ins Eclipse-Verzeichnis wechseln und dort das ZIP auspacken. Beim nächsten Start ist der Shell-Editor verfügbar. Vorteil: Wenn Ihr mit der Maus über Shell-Kommandos "fahrt", wird die Man-Page angezeigt.

Für Perl lohnt sich ein Blick auf EPIC, auch dafür gibt es eine sehr gute Anleitung. Wenn Ihr debuggen müsst, sollte Padwalker installiert sein (ist bei den Ubuntu-Paketen dabei). Style-Guides werden über Perl::Critic implementiert, was auch installiert sein sollte, wenn Ihr die Funktion braucht.

Für Web-Entwickler ist sicherlich noch das Aptana Studio interessant. Es lässt sich über die Download-Seite herunterladen und enthält neben andern Features einen FTP-, FTPS- und einen SFTP-Client.

Mit dem SQL Explorer bin ich nie warm geworden, da gefällt mir das Original Squirrel SQL, die Mutter des Plugins, deutlich besser.

Ende:

So, das war es vorerst einmal. Mehr setze ich selber auch nicht ein. Mir gefällt das Syntax-Highlighting, die gute Schnittstelle zum Subversion (auf der Arbeit auch noch CVS) und die Möglichkeit, Perl zu debuggen.

Die zahlreichen Einstellungen lassen sich über Window / Preferences treffen. Klickt Euch einfach einmal durch. Aktionen mit und auf Dateien lassen sich mit der rechten Maustaste erledigen.

Alle Eclipse-Bücher, die ich kenne, sind mir zu Java-lastig und Java ist wirklich nicht das, was ich machen möchte.

Verheiraten von SQLite und SQuirreL SQL ...

Über mein Lieblingsdatenbankabfragewerkzeug SQuireL SQL habe ich in anderem Zusammenhang schon einmal etwas geschrieben.

Den JDBC-Treiber von SQLiteJDBC herunterladen und ins lib-Verzeichnis der Squirrel-Installation kopieren.

Einen neuen Treiber nach folgendem Muster anlegen.



Name: SQLite
Example URL: jdbc:sqlite:
Website URL: http://www.zentus.com/sqlitejdbc/
Class Name: org.sqlite.JDBC

Danach kann eine neue Datenbank nach diesem Muster angelegt werden (unter Windows Backslashes durch Slashes ersetzen), ein Login wird nicht gebraucht.: