Datenbank an Office
PostgreSQL als Datenbank für Star- und OpenOffice
Eine ODBC-Verbindung, bitte!
Die Datenbank steht, nun muss lediglich noch das Office-Paket darauf zugreifen. Zu diesem Zweck kontaktiert es PostgreSQL plattformunabhängig über die ODBC-Schnittstelle, doch bevor dies gelingt, bleibt ein wenig Konfigurationsarbeit übrig. Um die passenden Konfigurationsdateien /etc/odbc.ini und /etc/odbcinst.ini zu erstellen, ruft root auf dem Datenbank-Server-Rechner sowie auf jedem Client, der auf das DBMS zugreifen soll, eines der ODBC-Konfigurationsfrontends, je nach Geschmack (und Installationsumfang) das Qt-basierte Tool ODBCConfig oder das GTK-Pendant gODBCConfig, auf; unter KDE am besten mit
kdesu ODBCConfig &
Zunächst wählt der Admin in diesem ODBC Data Source Administrator den Reiter System DNS an. Ein Klick auf die Schaltfläche Add... führt zu einer Maske mit der Überschrift Select a Driver. Der Button Add... ruft nun endlich den gewünschten Dialog Driver Properties (new) auf den Plan, in den die ODBC-Bibliotheken libodbpsql.so und libodbcpsqlS.so als Driver bzw. Setup eingetragen werden (Abbildung 2). Sie befinden sich je nach Distribution an etwas unterschiedlichen Stellen des Dateisystems (bei SuSE 8.0 etwa /usr/lib), die man am besten mit locate ermittelt. Zum Bestätigen der Angaben dient bei ODBCConfig das "Save and Exit"- Häkchen oben links. Zudem markiert der Admin den Eintrag in der Maske Select a Driver, und klickt auf Ok.
Im nun erscheinenden Dialog Data Source Properties (Abbildung 3) bleiben mit dem Namen der ODBC-Verbindung, dem Namen der zu verwendenden PostgreSQL-Datenbank (Database, im Beispiel test_db), der Server-Adresse (Servername), dem Datenbank-Benutzer-Namen (UserName) und dem Passwort noch ein paar Punkte auszufüllen. Das im Punkt Password gewählte Passwort wird bei jeder ODBC-Client-Verbindung abgefragt.
Und nun mit Office!
Damit ein auf den Linux-Desktop-Rechnern installiertes Office-Paket auf die ODBC-Verbindung zugreifen kann, muss dort die Bibliothek libodbc.so aus dem Paket unixODBC vorhanden sein. Gibt es keine Datei dieses Namens, sondern z. B. nur eine libodbc.so.1.0.0, legt root einen Link an:
ln -s /usr/lib/libodbc.so.1.0.0 /usr/lib/libodbc.so
Nun starten die Benutzer Star- bzw. OpenOffice (neu) und öffnen den Datenbank-Explorer durch Klick auf das Tabellen-Symbol Datenquellen auf der linken Symbolleiste (unterhalb des Fernglas-Icons). Im Explorer-Feld auf der linken Seite wählen sie aus dem Kontext-Menü der rechten Maustaste den Punkt Administrate Data Source bzw. Datenquellen verwalten ... (Abbildung 4).
Das mit New Data Source (Neue Datenquelle) überschriebene Feld im neuen Dialog ermöglicht es über sein Kontextmenü, eine New Data Source bzw. neue Datenquelle einzurichten. In der Karteikarte General (in der deutschen Version Allgemein) vergeben Sie nun im Namensfeld den Namen, unter dem die Datenbank auf dem Client anzusprechen sein soll – wir wählen Meine Adressen. Im Feld Database type (Datenbanktyp) wählen Sie ODBC aus. Der Such-Knopf ... hinter Data source URL (Datenquellen-URL) liefert die vorhin von root konfigurierten Datenquellen zur Auswahl zurück, in unserem Fall Adress_DB (Abbildung 5).
Tragen Sie in der Karteikarte ODBC den User-Namen ein, und kreuzen Sie Passwort erforderlich an (sofern der Admin im ODBC Data Source Administrator eines gesetzt hat). In der PostgreSQL-Grundeinstellung kann jeder Datenbank-Nutzer lesend auf die Datenbank zugreifen, wenn dies die pg_hba.conf nicht ausschließt.
Nun können Sie sich nach Anwahl der Karteikarte Tables bzw. Tabellen bei der Datenbank anmelden und die Tabellen auswählen, die sichtbar sein sollen. In unserem Fall gibt es mangels angelegter Tabellen in der test_db-Datenbank nur die Auswahl Alle Tabellen.
Sobald Sie jedoch im Datenbank-Explorer auf das Plus-Zeichen neben der Datenquelle Meine Adressen klicken, finden Sie im Kontextmenü zum Eintrag Tabellen den Punkt Neu / Tabelle / Tabellenentwurf (StarOffice 5.2) oder neuer Tabellenentwurf (OpenOffice, Abbildung 6). Auf seine Auswahl hin öffnet sich eine Maske zur Tabellenerstellung.



