Sprache

Die freie und offene Büro-Software
Verfügbar: Apache OpenOffice 4.1.15
[zurück] [Hauptmenü] [weiter]
  [PDF]  

MySQL per JDBC anbinden

Wie verbinde ich Star/OpenOffice.org mit einer MYSQL Datenbank via JDBC ohne ODBC?

Dieses Dokument soll eine einfache Anleitung sein, wie Sie eine MySQL-Datenbank mit OpenOffice.org (ab Version 1.0.2) benutzen können, ohne über ODBC darauf zugreifen zu müssen.

MySQL besorgen und installieren

Unter www.mysql.com gibt es die Datenbank und ein grafisches Frontend MySQLGUI, außerdem die aktuellen JDBC-Treiber, Connect/J. Stellen Sie sicher, dass Sie eine Version ab 3.0.3-Beta verwenden, da Sie mit dieser Version Auto-Increment Felder verwenden können und auch vollen Schreibzugriff auf die Daten erhalten.

Eine wirklich gute Möglichkeit, MySQL zu verwalten, ist PHPMyAdmin, wozu man allerdings einen laufenden Webserver braucht. Aber auch das ist überhaupt kein Problem, wenn man z.B. PHPTriad oder Foxserver benutzt. Beide sind dazu da, um unter Windows möglichst einfach einen Apache-Webserver, eine MySQL-DB und PHP mit PHPMyAdmin zu installieren.

Beide findet man unter sourceforge.net/projects/foxserv bzw. sourceforge.net/projects/phptriad.

Hier beschreibe ich PHPTriad , da dieses Paket kleiner ist und bis auf die JDBC-Treiber bereits alles dabei ist.

Nach Ausführen des Installationsprogrammes besitzt man einen für lokale Belange (weil ziemlich ungeschützt) geeigneten Apache Webserver mit PHP, PHPMyAdmin und einer MySQL Datenbank. Dieses ist aber für unsere Zwecke hervorragend geeignet. Als Hauptbenutzer ist standardmäßig root mit leerem Passwort vergeben. Also evtl. ändern bzw. neue Benutzer erstellen und entsprechende Passwörter vergeben. (Aber erst nachdem alles mal läuft und man sich mit einer richtigen Datenbank und mit deren Möglichkeiten besser auskennt.)

Mit einem Browser und der Adresse localhost sollte man überprüfen, ob Apache und PHP läuft. Auch PHPMyAdmin aufrufen, ob MySQL läuft.

Ansonsten über Start - Programme - PHPTriad - Apache und MySQL starten. Außerdem sind bei einer Standard-Installation evtl. die Programme winmysqladmin.exe und mysqlmanager.exe sowie evtl. mysql.exe (aus einer DOS-Konsole aufzurufen) hilfreich. Diese finden wir im /bin Verzeichnis also c:\apache\mysql\bin .

Diese Programme benutzen wir aber nur solange, bis MySQL läuft, da das Frontend über PHPMyAdmin wesentlich einfacher zu bedienen ist.

Die meisten Linux Distributionen enthalten bereits Apache, MySQL and PHPAdmin. Lesen Sie in der Dokumentation Ihrer Distribution, wie Sie diese Pakete installieren.

Falls jemand eine entsprechende Anleitung schreibt, können wir diese hier mit aufnehmen.

Ab OpenOffice.org 1.0.2 können Tabellen recht einfach direkt aus dem Officepaket heraus erstellt werden. Alles, was Sie vorher noch tun müssen, ist, die Datenbank zu erzeugen.

Erstellen Sie über PHPMyAdmin eine neue Datenbank, z.B. „mydb“. Das ist alles, was Sie in PHPMyAdmin tun müssen. Mit PHPMyAdmin steht Ihnen aber ein gutes Werkzeug zur Seite, falls einmal mit OpenOffice.org nicht alles auf Anhieb funktioniert.

JDBC-Treiber installieren

Als Nächstes gilt es den JDBC-Treiber zu installieren. Wir haben uns eine Datei geladen, die ungefähr „mysql-connector-java-3.0.3-beta.zip “ heißt. Dies ist eine gepackte Datei, die sowohl die eigentliche Treiber-Datei als auch die Source-Codes dazu beinhaltet (falls jemand das ganze selber kompilieren möchte). Zum Entpacken kann man FILZIP (www.filzip.de ) hernehmen, falls man noch keinen Entpacker hat.

Wir haben dann irgendwo ein Verzeichnis „mysql-connector-java-3.0.3-beta“. Darin befindet sich neben den Sourcen auch der eigentliche Treiber „mysql-connector-java-3.0.3-beta-bin.jar“ . Diese Datei kopieren wir einfach in irgendein Verzeichnis, vorzugsweise in das lib/ext -Verzeichnis der installierten Java-Runtimeumgebung, dann erübrigt sich das umständliche Setzen der ClassPath - Variablen.

Damit das funktioniert, sollte man aber sicherstellen, dass die jeweilige java.exe geladen wird. Falls sich unter Windows im system32 - Verzeichnis eine java.exe befindet, diese einfach löschen oder umbenennen.

MySQL in OpenOffice.org einbinden

Falls man nicht den Weg über das lib/ext -Verzeichnis geht, muss dieser Treiber dann noch OpenOffice.org bekannt gemacht werden.

Seit Version 641D geht das ganze ziemlich einfach.

Wirklich diese Datei und nicht nur das Verzeichnis, in der sie sich befindet, angeben!

Anschließend OpenOffice.org komplett beenden. Achtung, den Quickstarter in der Taskleiste (Windows) nicht vergessen!

Nun können wir OpenOffice.org wieder starten.

Ohne den Parameter useHostsInPrivileges=false erhalten Sie keinen Schreibzugriff über den JDBC-Treiber.

Wenn man nun auf „Tabellen“ geht, kann man neue Tabellen, Abfragen und Verknüpfungen erstellen. Speichern Sie eine neue Tabelle unter einem beliebigen Namen (ohne Leerzeichen) z.B. „MeineTabelle1“. In dieses Menü kommt man übrigens sehr leicht mit <F4>.

Jetzt benötigen Sie nur noch die korrekten Einstellungen in der MySQL-Tabelle „tables_priv“. Um diese zu setzen, klicken Sie mit der rechten Maustaste auf Ihre Datenquelle und wählen Sie SQL... Sie erhalten einen Dialog, in dem Sie direkt SQL-Kommandos an Ihre Datenbank schicken können.

Geben Sie folgende Zeile ein:

grant all privileges on MeineTabelle1 to root

(Falls Ihr Nutzename Root und der Tabellenname MeineTabelle1 ist, wie oben beschrieben). Beachten Sie, dass Sie diese Anweisung für alle Tabellen eingeben müssen, die Sie über OpenOffice.org anlegen.

Sie besitzen jetzt eine lauffähige MySQL-Datenbank, die Sie per JDBC in OpenOffice.org für Ihre Arbeit benutzen können.

Sollten Sie Fehler in dieser Anleitung entdecken oder Verbesserungsvorschläge haben, wenden Sie sich an den Autor.

Credits

Autor : Hermann Kienlein (hermann@kienlein.com)

Korrektur gelesen: André Schnabel (AndreSchnabel@openoffice.org)

letzte Änderung: 09.02.2003

Kontakt : OpenOffice.org Documentation Project documentation.openoffice.org

OpenOffice.org deutschsprachig de.openoffice.org

OpenOffice.org bei Hermann Kienlein www.kienlein.com

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.