habe erfolgreich meine Datenbank im richtigen Verzeichnis zum Laufen gebracht (siehe meine letzte Frage), kann Daten aus alten Tabellen via pgAdmin (SQL-Tool) importieren und via SQL oder Direkteingabe auch ändern. Da das unschön ist, habe ich libreoffice-base als client eingerichtet und kriege auch eine Verbindung hin.
Kann die angezeigten Tabellen auch ändern, nur die Inhalte nicht, d.h. ich kann keine Datensätze anfügen, aber neue Tabellen in der datenbank erzeugen. Habe verschiedene user und Rechtevergaben (z.B. Grant all …) probiert - geht nicht. An was könnte das liegen? Muss ne Kleinigkeit sein, aber ich finde es nicht.
Ja, die Tabelle die ich editieren möchte hat einen Primärschlüssel. Was mich irritiert ist, dass ich von base aus die Datenbankstruktur ändern, d.h. neue Tabellen einfügen kann, das mit den daten aber nicht geht. Mit der verbindung und den rechten sollte also alles stimmen. In pgAdmin kann ich ja auch Daten eingeben, also ist das ja prinzipiell möglich und ich hab keinen Fehler in der Tabelle. Eventuell ist das ja ein Problem von Libre office. werde mich in entsprechenden foren umhören und hier berichten, wenn ich eine Lösung habe. Eigentlich möchte ich ja nur ein paar Eingabeformulare basteln, damit Änderungen an den Daten einfacher werden als von pg_Admin aus… Gruß Thomas
Die Probleme lagen daran, dass zumindest unter meinem System der in meinem LibreOffice mitgelieferte Postgrestreiber (LOffice 3.4.2, build 1206) nicht richtig funktioniert. Änderungen an der Datenbankstruktur sind zwar möglich, nicht aber Dateneingaben.
archiv in usr/share/postgresql (Meine eigene Idee um aufgeräumt zu bleiben)
In LibreOffice unter Extras/Optionen/LibreOffice/Java den “ClassPath” auf das Archiv setzen (geht einfach über das Menü)
In einer LibreOffice Base Datei eine Verbindung zu Postgresdatenbank erzeugen. Dazu habe ich folgende Einstellungen gewählt:
Jdbc Treiberklasse: org.postgresql.Driver
Datenquellen-URL: jdbc: postgresql://localhost/meinedb (wobei “jdbc:” voreingestellt ist, nicht nochmal hinschreiben) Hier gibt es auch andere Möglichkeiten:
jdbc: postgresql:meinedb (bei Installation der Datenbank auf lokalem Rechner) oder jdbc: postgresql://host: port/meinedb
Bisher funktioniert das Ganze, allerdings habe ich nur einfache Tabellenstrukturen und Feldtypen (als Primärschlüssel nur Integer) getestet. Mal sehen.
Gruß Thomas
PS: Achtung, für alle die Text kopieren - ich musste hier im posting zwischen":" und “p” ein Leerzeichen setzen, weil sonst ein Smiley auftauchte - diese leerzeichen sollten besser rausgenommen werden.