MySQL mittels ODBC (Open Database Connectivity)
unter Windows an OpenOffice anbinden

In diesem Beitrag geht es um die Verbindung über ODBC (Open Database Connectivity) einer MySQL Datenbank mit OpenOffice. So eine Verbindung kann zum Beispiel Sinn machen, wenn man eine Kundendatenbank in MySQL hat und sämtliche Adressen auf Etiketten drucken möchte um Weihnachtsgrüße zu verschicken. Müßte man bei hunderten von Adressen alle von Hand schreiben, kann das ganz schnell in Arbeit ausarten. Bei einer Verbindung von MySQL an OpenOffice kann man sich die Adressdaten ganz einfach als Platzhalter in das Etiketten-Formular holen, das Formular ausdrucken und ist schon fertig. Und wie das geht, erkläre ich hier Schritt für Schritt.

1. Installation des ODBC Treibers

Den ODBC Treiber/Connector kann man sich unter
http://dev.mysql.com/downloads/connector/odbc/
runterladen. Nach der Auswahl der Plattform (in unserem Fall Windows) kann man sich entweder einen Installer oder ein Zip-Archiv runterladen. Ich habe mich für den Installer entschieden, da er einem die leidige Arbeit abnimmt, wichtige DLL-Dateien ins Windows Verzeichnis zu kopieren. Hat jemand Probleme mit dem Installer kann er natürlich auf das Zip-Archiv zurückgreifen. Nach dem man die Installationsroutine durch hat, liegt der ODBC Treiber im Verzeichnis C:\Programme\MySQL\Connector ODBC 5.3\

2. Einrichten einer ODBC Schnittstelle

Zum Einrichten einer ODBC Schnittstelle gibt es zwei Wege, einmal grafisch über eine Windows-Komponente und einmal textbasiert über die MS-DOS Eingabeaufforderung. Ich empfehle natürlich den einfacheren Weg über die Windows-Komponente. Wer aber gerne tippt, kann hier auch die textbasierte Variante nachlesen.

Die Windows-Komponente findet sich je nach Windows in der Regel unter
Start/Einstellungen/Systemsteuerung/Verwaltung/Datenquellen (ODBC)

odbc-verbindung-01.jpg

Die Registerkarte Treiber gibt eine Übersicht über die vorhandenen Treiber. Wichtig ist hier der Eintrag MySQL ODBC 5.3 ANSI Driver, welchen wir nach Klick auf "Hinzufügen" unter System-DSN auswählen.

odbc-verbindung-02.jpg

Nach Klick auf "Fertig stellen" (ja jetzt etwa schon? Da fehlt doch noch was!) öffnet sich das Fenster für den Schnittstellennamen, den Server und die Authentifizierung.

odbc-verbindung-03.jpg

Hier trägt man die benötigten Informationen ein, um eine MySQL Datenbank zu erreichen. Mit dem Test-Button kann man prüfen, ob die angegebene Verbindung funktioniert. Ein anschließendes Ok beendet die Eingabe und die neue Datenschnittstelle steht zur Verfügung.

odbc-verbindung-04.jpg

Und jetzt das Ganze noch für die MS-DOS Eingabeaufforderung. Ich gehe mal davon aus, wer diese Variante benutzen will, hat schon etwas Erfahrung mit der Konsole, daher setze ich hier grundlegendes Wissen voraus, bzw. wer dieses nicht besitzt, sollte erst einmal die Grundlagen von MS-DOS lernen.

Zum Abstarten der MS-DOS Eingabeaufforderung kann man ganz einfach unter "Befehl ausführen" cmd eingeben. Anschließend muß man in das Verzeichnis des ODBC Treibers wechseln.
cd C:\Programme\MySQL\Connector ODBC 5.3\
In diesem Verzeichnis liegt die ausführbare Datei myodbc-installer.exe. Die Eingabe des Programmnamens ohne weitere Angaben listet die verfügbaren Optionen auf und zeigt sogar ein paar typische Beispiele. Mittels
myodbc-installer.exe -d -l
werden die vorhandenen Treiber aufgelistet. Hier finden wir wieder ziemlich am Ende der Ausgabe unseren Eintrag MySQL ODBC 5.3 ANSI Driver. Durch die Eingabe von
myodbc-installer.exe -s -a -c2 -n "schnittstellenname" -t "DRIVER=MySQL ODBC 5.3 ANSI Driver;SERVER=localhost;DATABASE=datenbankname;UID=root;PWD=passwort"
wird eine neue ODBC Schnittstelle eingerichtet, welche dann dem System zur Verfügung steht.

Eine kleine Übersicht der möglichen Optionen:

Object
-d driver
-s datasource

Action
-l list
-a add (add/update for data source)
-r remove

Options
-n <name>
-t <attribute string>
-c0 both
-c1 user data source
-c2 system data source (default)

3. MySQL Datenbank unter OpenOffice einbinden

Damit man die MySQL Datenbank in Dokumenten unter OpenOffice zur Verfügung hat, muß man sie mit einer OpenOffice Datenbank verknüpfen. Dazu wählt man Neu/Datenbank und im sich öffnenden Fenster Verbindung zu einer bestehenden Datenbank erstellen und in der DropDown-Box natürlich MySQL.

openoffice-datenbank-01.jpg

Im Schritt 2. wählt man Verbindung über ODBC (Open Database Connectivity).

openoffice-datenbank-02.jpg

Im Schritt 3. klickt man auf Durchsuchen und wählt den Schnittstellennamen, den man bei der ODBC Einrichtung vergeben hat.

openoffice-datenbank-03.jpg

Bei der Benutzerauthentifizierung gibt man den Benutzer root und das entsprechende Paßwort -falls eines vergeben wurde- an. Mit einem Klick auf Verbindungstest kann man prüfen, ob die Verbindung zur MySQL Datenbank funktioniert.

openoffice-datenbank-04.jpg

Nun wählt man noch, ob OpenOffice die Datenbank anmelden soll und ob man sie zum bearbeiten öffnen will.
Hier ein Hinweis: alle Änderungen die man unter OpenOffice im Datenbankmodul an der Datenbank vornimmt, werden in der MySQL Datenbank übernommen. Somit kann auch unter OpenOffice die MySQL Datenbank editiert werden. Ein anschließender Klick auf "Fertigstellen" öffnet den Speichern Dialog unter dem man die verknüpfte OpenOffice Datenbank abspeichert.

openoffice-datenbank-05.jpg

 

4. Etikettendruckbeispiel unter OpenOffice

Unter Neu/Etiketten öffnet man den Dokumenten Dialog für die Etiketten. Hier kann man jetzt die zuvor abgespeicherte Datenbank auswählen. Anschließend wählt man die entsprechende Tabelle und das Feld, daß man in die Etiketten einfügen will. Mit Klick auf den Pfeil wird das entsprechende Feld übernommen. Hat man alle Felder wie gewünscht in das Aufschrift Feld eingetragen, muß man noch das entsprechende Etiketten Papier wählen. Sollte hier das gekaufte Papier fehlen und kein entsprechende Ergänzung für OpenOffice im Internet zu finden sein, muß man unter Format die genauen Abmaße des Etikettenpapiers selbst eingeben. Welche Längen- oder Breitenangabe für was steht, könnt ihr der Hilfe von OpenOffice entnehmen mit Klick auf den Hilfe Button.

openoffice-etiketten-01.jpg

Im letzten Reiter Optionen stellt man noch Ganze Seite ein und wenn alle Etiketten gleich aussehen sollen, setzt man noch einen Haken bei Inhalte synchronisieren.

openoffice-etiketten-02.jpg

Ein Klick auf Neues Dokument zeigt uns folgendes Bild (zum Vergrößern anklicken):

openoffice-etiketten-03-mini.jpg

Die Spaltennamen zwischen den Vergleichszeichen fungieren hier als Platzhalter für die Daten der MySQL Datenbank und werden später beim Druck durch selbige ersetzt. Zur Formatierung muß man lediglich das erste Etikett anpassen und kann mit der Schaltfläche Etiketten synchronisieren alle anderen Etiketten mit anpassen. Ist alles wie gewünscht eingestellt, kann man unter Datei/Drucken den Druckdialog öffnen und entweder sofort loslegen und alles ausdrucken oder man kann den Druck zu einer genaueren Überprüfung in eine OpenOffice Datei umleiten, welche dann mit den korrekten Daten aus der Datenbank gefüllt wird. So kann man für eine feinere oder unterschiedliche Anpassung von einzelnen Etiketten ein fertiges End-Dokument in OpenOffice öffnen und bearbeiten.