ceggert
I'm new here

FormEdit Schema DBLogger

Hallo Zusammen,

ich arbeite mit dem Modul FomEdit und möchte einen Datenbanklogger anlegen, der in ein spezielles Schema einer Postgre DB logged. Bisher ist es mir nur gelungen in das Public Schema der Datenbank zu loggen, welches ja per default genutzt wird.

Leider gibt die FormEdit Doku keinen Hinweis auf einen weiteren Logger-Parameter mit dessen Hilfe ein bestimmtes Schema angesprochen werden kann Smiley Sad

Eine weitere Frage, die ich in diesem Zusammenhag habe, was ist der beste Weg das Datum in ein DB-Feld zu speichern, wenn ich die Datumsabsatzvorlage aus FormEdit nutze ist es ja quasi ein Array mit Werten (Tag, Monat, Jahr) welches ich nicht so einfach gespeichert bekomme. Hat hier jemand einen BestPractice-Ansatz?

vielen Dank und Grüße,

Christopher Eggert

0 Kudos
5 Replies
tklein
I'm new here

Hallo Christopher,

hast du mal versucht in der LoggerKonfiguration für den Parameter url sowas einzutragen:

jdbc:postgresql://localhost:5432/mydatabase?searchpath=myschema

0 Kudos

Hallo Tobias,

des Rätsels Lösung ist den Schemanamen mit Punktnotation vor den Tabellennamen zu hängen. In der fs-formlogger.ini sieht das wie folgt aus:

JdbcLogger.table=meinschema.meinetabelle

viele Grüße,

Christopher

0 Kudos

ok daraus ergibt sich, dass man dies dann beim Parameter table in der Loggerkonfiguration angeben kann.

0 Kudos
tklein
I'm new here

achja zu deinem Problem mit dem Datum.

Was benutzt du denn zur Datums eingabe? Die Vorlage "combobox date"? Hier gibt es ja die möglichkeit, sich das in ein Datumsstring konvertieren zulassen. SIehe Punkt 4.3.10 in der FormEdit Dokumentation

0 Kudos

Hallo Tobias,

vielen Dank für die Info mit dem Datum genau so habe ich es auch gemacht Smiley Happy und ich habe hier in der Community auch schon einen Eintrag gefunden, dass der JDBC Logger nur in textfelder einer DB logged.

Noch als kleine Ergänzung zu der Auswahl eines entsprechenden Schemas, ja richtig somit ist es problemlos möglich das Schema über die Loggerkonfiguration mitzugeben. Allerdings habe ich festgestellt, dass dann das automatische Mapping auf die Tabllenspalten nicht funktioniert. Im Log ergibt das folgendes INSERT Statement:

SQL Statement:INSERT INTO testschema.fstestneu() VALUES ()

<2011-11-30 10:02:27> ERROR : Logging formedit.JdbcLogger : Could not write in table: ERROR: syntax error at or near ")"

Hier sieht man deutlich, dass die Spalte nicht gefunden wird, erste Klammer enthält keinen Wert im INSERT Statement, an dieser Stelle muss einfach dann die Konfiguration ebenfalls um das Spalten => Wert Mapping erweitert werden, dann gibt es auch keine Fehlermeldungen im Log mehr Smiley Happy und es wird ein neuer Eintrag in die DB gelogged.

viele Grüße,

Christopher Eggert

0 Kudos