Datenbank Feld-Längen zu strikt

 
christian.weiss
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 21
Dabei seit: 01 / 2019
Betreff:

Datenbank Feld-Längen zu strikt

 · 
Gepostet: 26.01.2019 - 15:26 Uhr  ·  #1
Wenn ich Umsatzdaten importiere, dann ist das H2 Datenbank Feld "EMPFAENGER_KONTO" etwas zu stikt. Es kann derzeit nur 40 Zeichen (VARCHAR 40) aufnehmen.

Code
[26.01.2019 14:19:59]   Fehler in Zeile 17: insert failed, rollback successful; nested exception is: 
  org.h2.jdbc.JdbcSQLDataException: Wert zu gross / lang für Feld "EMPFAENGER_KONTO VARCHAR(40) SELECTIVITY 20": "STRINGDECODE('Optica Abrechnungszentrum Dr. G\u00fcldener GmbH') (43)"
Value too long for column "EMPFAENGER_KONTO VARCHAR(40) SELECTIVITY 20": "STRINGDECODE('Optica Abrechnungszentrum Dr. G\u00fcldener GmbH') (43)"; SQL statement:
insert into UMSATZ (DATUM,PURPOSECODE,ART,VALUTA,EMPFAENGER_KONTO,PRIMANOTA,BETRAG,KONTO_ID,ZWECK3,FLAGS,ADDKEY,ZWECK2,TXID,EMPFAENGER_NAME,SALDO,GVCODE,CUSTOMERREF,ENDTOENDID,UMSATZTYP_ID,CHECKSUM,EMPFAENGER_BLZ,ZWECK,KOMMENTAR) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) [22001-197]


Da die Hibiscus-UmsatzTabelle für unterschiedliche Zwecke verwendet werden (Giro, Paypal, Bausparkassen und offline Konten) sollte in der Datenbank eher großzügige Datenfeldlängen gewählt werden (>=140 Zeichen).

Eine nachfolgende Einschränkung sollte m.E. dann besser durch Validatoren sichergestellt werden, die dann Kontotyp-spezifisch sind (z.B. wenn HBCI oder FinTS hier härtere Grenzen haben). Das OnlineBanking von der ING-DiBa lässt auf diesem Feld z.B. 140 Zeichen zu.

Der CSV-Umsatz-Import in Hibiscus lässt durch o.g. Meldung derzeit auch nur Umsätze mit <= 40 Zeichen durch. Hierdurch kann ich einige Umsätze aus einer anderen HomeBanking-Anwendung nicht importieren (diese HB-Anwendung scheint zumindest 100 Zeichen speichern zu können).
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11390
Dabei seit: 03 / 2005
Betreff:

Re: Datenbank Feld-Längen zu strikt

 · 
Gepostet: 27.01.2019 - 11:31 Uhr  ·  #2
Kann es sein, dass du hier Empfaenger-Kontonummer mit Empfaenger-Name verwechselst? Das 40-Zeichenlimit bezieht sich nur auf die Kontonummer des Gegenkontos. Mir ist jedenfalls keine Kontonummer bekannt, die laenger als 40 Zeichen ist. Das Feld fuer den Namen des Gegenkonto-Inhabers laesst bis zu 255 Zeichen zu.
christian.weiss
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 21
Dabei seit: 01 / 2019
Betreff:

Re: Datenbank Feld-Längen zu strikt

 · 
Gepostet: 27.01.2019 - 14:31 Uhr  ·  #3
Stimmt, ich war da durcheinander gekommen.

Die Felder heißen im User Interface "Gegenbuchung ...", aber in der Datenbank "Empfaenger_..." - irgendwie bin ich dann beim Mapping durcheinander gekommen, was nur dann zu, o.g. UND RICHTIGEN Fehlermeldung führt. Hat sich also erledigt.
Gewählte Zitate für Mehrfachzitierung:   0