Login
Newsletter
Di, 2. August 2005, 22:06

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.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten