Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TIBDaset verliert Wert nach post (237 Spalten) (https://www.delphipraxis.net/206441-tibdaset-verliert-wert-nach-post-237-spalten.html)

stalkingwolf 22. Dez 2020 08:41

Datenbank: Firebird • Version: 2.5 • Zugriff über: DLL

TIBDaset verliert Wert nach post (237 Spalten)
 
Wir haben eine Tabelle welche relativ groß ist mit 237 Spalten.

Wir haben nun in einigen Datenbanken folgendes Problem.

Wir schreiben den Wert in das TIBDateset, rufen .post und von der Transaktion das Commit auf.
Der Wert wird korrekt in die Datenbank gespeichert, aber in dem TIBDataset ist der Wert weg.
Erst bei einem neuen select aus der Datenbank ist das Feld gefüllt, aber nach einem erneuten .post ist der Inhalt danach wieder weg.
Das passiert mit allen Spalten nach der 237. Egal ob char, varchar, integer, numeric usw.

Mal abgesehen davon das 237 Spalten ne Hausnummer sind, würde ich gerne verstehen warum dies nicht in allen Datenbanken passiert, sondern nur in einigen. Die Größe ist unabhängig. Wir haben DB die ist 47GB und dort funktioniert es. Bei einer anderen mit 15GB funktioniert es nicht.
Ich vermute aber auch das es eher an IBDataset liegt und nicht an der Firebird Datenbank.

Jemand eine Idee woran es liegen könnte?

Bernhard Geyer 22. Dez 2020 08:45

AW: TIBDaset verliert Wert nach post (237 Spalten)
 
Feldlängen überall gleich?
Nicht das hier ein (fester Buffer) zu klein ist und "überläuft".

stalkingwolf 22. Dez 2020 08:59

AW: TIBDaset verliert Wert nach post (237 Spalten)
 
Ja diese sind überall gleich.
In der DB in welcher es nicht funktioniert haben wir auch relativ wenig Felder gefüllt. die Varchar Felder nur mit einem oder keinem Zeichen.
D.h die Länge alle Spalten sollte IMO nicht das Problem sein.

Neumann 22. Dez 2020 09:15

AW: TIBDaset verliert Wert nach post (237 Spalten)
 
Wenn man Commit aufruft, wird das Dataset geschlossen. Liegt es vielleicht daran?

stalkingwolf 22. Dez 2020 09:19

AW: TIBDaset verliert Wert nach post (237 Spalten)
 
ist ein commitretaining. Alle anderen Spalten werden weiterhin angezeigt. Es sind nur die nach 237


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz