Dateneingabe Base

Hallo allerseits

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.

Gruß Thomas

Ich kenne Base nicht, aber mein erster Check wäre ob die Tabellen auch einen Primärschlüssel haben.

Jups, kenne das Teil auch nicht, hab aber im Hinterkopf, daß da zum Editieren zwingend ein PK sein muß.

Andreas

Der muß doch immer da sein zum Editieren, oder irre ich mich da. PGAdmin jammert da auch rum, wenn der fehlt.

Gruß Uwe

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

Hallo an alle, Problem gelöst

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.

Lösung: - JDBC treiber benutzen (PostgreSQL JDBC Driver)

  • 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.

Danke. Gesperrt.