Einzelnen Beitrag anzeigen

Incocnito

Registriert seit: 28. Nov 2016
210 Beiträge
 
#6

AW: Column "xxx" specified more than once

  Alt 16. Mär 2020, 11:44
Danke erstmal für die ganzen Ideen/Einwürfe!

... ich würde Dir von der Nutzung der TTable-Komponenten abraten. ...
1) Aus was für einem Grund? Dafür ist die doch entwickelt worden!
2) Ich soll in unserem Hauptprojekt die Datenbank ersetzen,
dabei versuche ich so wenig Quelltext wie möglich zu ändern.
Und da das bisher über Tabellen-Objekte lief, baue ich das so um,
dass es ebenfalls wieder so läuft. ... Naja, das ist das Ziel!

...
DevArt müsste auch eine TDBMonitor haben, dort kannst Du dir die geschickten Queries ansehen.
Ja tatsächlich! Danke für den Tipp! Allerdings ignoriert er die Einstellung "BeforeEvent"
scheinbar, denn er speichert die SQL nur, wenn ich den Feldnamen kleingeschrieben habe.
Schreibe ich das Feld groß, so zeigt er mit die erzeugte SQL nicht an.

Probleme mit Großkleinschreibung rühren meist daher, dass im Table Create Script Hochkomma o.ä bei der Feldbenennung verwendet wurden. ...
Im PgAdmin habe ich mir einfach mal mit "Select * from" alles ausgegeben und dort sind die Felder alle kleingeschrieben. Ich kann also davon ausgehen, dass das Create-Script die Feldnamen alle wandelt oder dass der PG-Server dies nachholt.

...
Konfiguration von Postgres anpassen, um bestimmte oder alle SQL Statements zu loggen:
C:\Program Files\PostgreSQL\12\data\postgresql.conf
Zeile:
Code:
..
#log_statement = 'none'         # none, ddl, mod, all
..
Kommentarzeichen entfernen und Eintrag 'none' entsprechend der Auflistung / Bedarf anpassen.
Z.B. 'mod'
(Später wieder zurückstellen, sonst kann es schnell voll werden im System!)

Code:
..
# - Where to Log -
log_destination = 'stderr'
..
...
Man landet in der Regel hier:
C:\Program Files\PostgreSQL\12\data\log\
...
hier sind die Logging Infos (verwendete Version beachten!):
https://www.postgresql.org/docs/curr...g-logging.html
(btw: Postgres bietet schon seit langer Zeit diese vorbildliche, versionierte Doku)
Ich hab' mir das mit den Logs mal angesehen, aber ich bekomme das so auf die schnelle nicht zum laufen. Wie du aber schon richtig geschrieben hattest werden Fehler eh geloggt.
Ich habe das Log dann in der Windows-Ereignisanzeige gefunden:
Code:
2020-03-16 12:05:46.541 CET [6356] ERROR: column "verfalldatum" specified more than once at character 151

2020-03-16 12:05:46.541 CET [6356] STATEMENT: INSERT INTO some_sheme.some_table
     (charge, pruefungsdatum, herstellungsdatum, lfdnr, pruefer, pzn, status, verfalldatum, verfalldatum, verfalldatum, verfalldatum)
   VALUES
     ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)
Ich würde sagen, dass die Komponente da Mist baut, oder?
In Zusammenhang mit dem ersten Zitat würde ich aber trotzdem schauen, dass ich das ans Laufen bekomme. Das komplette Projekt auf Querys umzubauen wäre der Horror.

Liebe Grüße an alle
Incocnito
  Mit Zitat antworten Zitat