PostgreSQL-Anbindung an Openoffice über PostgreSQL-sdbc
Die Anbindung der Datenbank PostgreSQL an OpenOffice kann über PostgreSQL-sdbc mit weniger Aufwand hergestellt werden als mit ODBC oder JDBC.
0. Vorwort
Mit PostgreSQL steht eine leistungsfähige Open-Source-Datenbank zur Verfügung. Beschreibungen, wie diese Datenbank an Openoffice angebunden wird, sind in der Literatur vielfach vorhanden, z.B. Linux User 02/2003: »PostgreSQL und StarOffice«. Doch geschieht die Anbindung meist umständlich über den ODBC-, ggf. auch über den JDBC-Treiber.
Von Openoffice.org wird ein Treiber für PostgreSQL zur Verfügung gestellt, der den Aufwand der Datenbankanbindung auf ein Minimum reduziert. Ich habe im folgenden eine Schritt für Schritt-Anleitung der Konfiguration von PostgreSQL und dessen Anbindung an Openoffice erstellt.
1. Installation von PostgreSQL
Je nach Paketmanagment der jeweiligen Distribution: Anlegen eines Users und einer Testdatenbank, etwas Administration. Vergabe eines Passworts für den User postgres:
$ su # passwd postgres
Anmelden als Postgres und Erzeugen eines Datenbankbenutzers:
$ su postgres # createuser -a -d joern CREATE USER
Wieder als User joern, Erzeugen einer Datenbank:
$ createdb StartUser CREATE DATABASE $ psql StartUser Willkommen bei psql 7.4.7, dem interaktiven PostgreSQL-Terminal. Geben Sie ein: \copyright für Urheberrechtsinformationen \h für Hilfe über SQL-Anweisungen \? für Hilfe über interne Anweisungen \g oder Semikolon, um eine Anfrage auszuführen \q um zu beenden StartUser=# CREATE TABLE start i int, c char(4), vc varchar(5000) ); CREATE TABLE StartUser=# INSERT INTO start VALUES 4711, 'Test', 'Info' ); INSERT 17155 1 StartUser=# \d+ Liste der Relationen Schema | Name | Typ | Eigentümer | Beschreibung --------+-------+---------+------------+-------------- public | start | Tabelle | joern | (1 Zeile) StartUser=# select * from start; i | c | vc ------+------+------ 4711 | Test | Info (1 Zeile)
Sicherstellen, dass sich die Datenbank über TCP/IP ansprechen läßt:
$ psql -h localhost -d StartDB Willkommen bei psql 7.4.7, dem interaktiven PostgreSQL-Terminal. Geben Sie ein: \copyright für Urheberrechtsinformationen \h für Hilfe über SQL-Anweisungen \? für Hilfe über interne Anweisungen \g oder Semikolon, um eine Anfrage auszuführen \q um zu beenden
Editieren von pg_hba.conf: Editieren Sie /var/lib/postgres/data/pg_hba.conf als User postgres bzw. in neueren Linux-Versionen /etc/postgresql/pg_hba.conf als User root:
host all all 127.0.0.1 255.255.255.255 trust
Stellen Sie sicher, dass der TCP/IP-Socket freigeschaltet ist: tcpip_socket = true
in der Datei /etc/postgresql/postgresql.conf
Restart: /etc/init.d/postgresql restart
2. Installation des Treibers PostgreSQL-sdbc
Quelle: http://dba.openoffice.org/drivers/postgresql/
Kopieren Sie den PostgreSQL-Openoffice-Treiber - gezippt! - in das Verzeichnis uno_packages von Openoffice und initialisieren Sie es:
cp postgresql-sdbc-0.6.2.zip /usr/lib/OpenOffice.org1.1.4/share/uno_packages export PATH=$PATH:/usr/lib/OpenOffice.org1.1.4/program pkgchk --shared
3. Einstellungen in OpenOffice
Navigieren Sie zu »Ansicht Datenquelle«, in dieses Feld rechte Maustaste, »Datenquelle verwalten«, rechte Maustaste, »neue Datenquelle«. Jetzt erscheint zur Treiberauswahl postgresql. Die Datenquellen-URL sdbc:postgresql wird ergänzt durch die Datenbankwerte:
sdbc:postgresql: dbname=StartDB user=joern hostaddr=127.0.0.1
Nun kann der Zugriff von OpenOffice nach PostgreSQL erfolgen.