Die Datenbank firebird

Firebird ist eine populäre und sehr leistungsfähige Datenbank.

Die Installation von Firebird ist sehr einfach: im /bin-Verzeichnis des ausgepackten Archivs wird ausgeführt:

$ instreg.exe install

Damit wird der Installationspfad in einen Registry-Eintrag unter (HKLM\Software\Firebird Project\Firebird Server\Instances) geschrieben. Zwar ist dieser Aufruf nicht zwingend erforderlich, doch einige externe Tools bauen auf diesen Eintrag auf. Wenn Firebird dann noch als Service laufen soll, ist ein Aufruf von instsvc.exe install anschließend nötig.

Jetzt kann der Server gestartet werden.

$ fbserver.exe -a

Ein Icon in der Trag-Bar zeigt an, dass der Server läuft. Die Deinstallation ist ebenso einfach. Der Aufruf von instsvc.exe remove beendet den Server und instreg.exe remove löscht den Schlüssel in der Registrierungsdatenbank.

Nach dem Aufruf des Programms isql (Interaktives SQL) lässt sich eine Verbindung zu einer ausgewählten Datenbank aufbauen und SQL-Anweisungen absenden. Voreingestellt ist ein Benutzer SYSDBA mit dem Passwort masterkey.

C:\Programme\firebird\bin>isql
Use CONNECT or CREATE DATABASE to specify a database
SQL> CONNECT "C:\Programme\firebird\examples\Employee.fdb" user 'SYSDBA' password 'masterkey';
Database: "C:\Programme\firebird\examples\Employee.fdb", User: SYSDBA
SQL> quit

Die Datenbank ist durch einem TCP/IP-Verbindungsstring spezifiziert, der sich aus den Teilen Servername und Pfad im Dateisystem zur Datenbank zusammensetzt. Linux und Windows unterscheiden sich etwas:

  • Linux: servername:/filesystem-path/database-file
  • Windows: servername:D:\filesystem-path\database-file

Mit isql lassen sich nun herkömmliche SQL-Anweisungen absetzen. Immer funktioniert SELECT * FROM RDB$RELATIONS;, welches alle Tabellen der Datenbank ausgibt. Aus dieser Liste ist für die Datenbank Employee abzulesen, dass es eine Tabellen employee gibt. Damit führt zur Ausgabe:

SQL> SELECT * FROM employee;

Um von außen eine Datenbank zu nutzen, muss zuerst eine Datenbank angelegt werden. Dazu dient die SQL-Anweisung CREATE DATABASE.

SQL> CREATE DATABASE 'c:\geodb.fdb' user 'SYSDBA' password 'masterkey';

Nach einer kurzen Zeit wurde am Dateisystem eine neue Datenbank angelegt und gleich zum Bearbeiten geöffnet.

Ein Java-Programm kann zur Employee-Datenbank Verbindung aufnehmen. Als Parameter sind nötig:

  • Klassenname des Datenbanktreibers: org.firebirdsql.jdbc.FBDriver
  • Jar-Archiv mit den Treiberklassen: firebirdsql-full.jar
  • Benutzername/Passwort: sysdba/masterkey
  • URL: jdbc:firebirdsql:localhost:C:/Programme/firebird/examples/Employee.fdb

Bedauerlicherweise unterstützt die aktuelle Version weder scrollbare ResultSets, noch Batch-Updates.