Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird: TClientDataSet - request synchronization error (https://www.delphipraxis.net/177886-firebird-tclientdataset-request-synchronization-error.html)

Angel4585 4. Dez 2013 07:58

Datenbank: Firebird • Version: 2.5.2 • Zugriff über: DBexpress

Firebird: TClientDataSet - request synchronization error
 
Guten Morgen!

Heute bekomme ich in meiner Testanwendung folgende Fehlermeldung:
Code:
---------------------------
Anwendungsfehler
---------------------------
Exception EOleException in Modul MyTestProgram.exe bei 0040A37C.
request synchronization error.
---------------------------
OK  
---------------------------
Das ganze passiert beim öffnen eines TClientDataSet's.
Seltsam daran ist: Ich öffne davor schon andere TClientDataSet auf die selbe Datenbank, nur andere Tabellen.

Nun was passiert im Code:
1. Ich öffne 5 TSQLDataSet's
2. Ich führe eine TSQLQuery aus
3. Ich öffne die 5 TClientDataSet's zu den 5 TSQLDataSet's

Beim 3. TClientDataSet kommt der Fehler.

Der Fehler tritt auch nur bei diesem speziellen TClientDataSet auf, die 2 davor und die 2 danach funktionieren soweit problemlos.

Mögliche Fehler?
- Tabelle defekt

Mehr fällt mir nicht ein, weswegen ich gerne damit anfangen würde.
Wie repariere ich Firebird-Tabellen? Keine Ahnung! Da es nur ein test ist, lösche ich die Tabelle einfach und lege sie wieder neu an. Funktioniert!

Naja hat erstmal funktioniert. Bis ich einen Datensatz hinzugefügt habe und der selbe Fehler wieder aufgetreten ist.
Den Datensatz habe ich mit FlameRobin hinzugefügt.

Ich vermute mein Client hat ein Problem damit, dass ich ihm nicht sage, dass es noch einen anderen Client gibt! (Eifersucht?)
Also nochmal von vorne. Tabelle löschen(Wie repariert man die?), neu anlegen und diesmal von meinem Client einen Dtaensatz hinzufügen.
Und tatsächlich, es tut!

So jetzt die Frage(n):
1. Wie repariert man bei Firebird eine defekte Datenbank?
2. Wie bringe ich meinem Client bei, dass andere Clients auch schreibend auf die Datenbank zugreifen dürfen?

An welcher Stelle muss synchronisiert werden?

Nersgatt 4. Dez 2013 08:01

AW: Firebird: TClientDataSet - request synchronization error
 
Zitat:

Zitat von Angel4585 (Beitrag 1238450)
1. Wie repariert man bei Firebird eine defekte Datenbank?

mach mal eine Datensicherung der Datenbank und spiele die Datensicherung in eine neue Datenbank zurück.

Angel4585 4. Dez 2013 08:08

AW: Firebird: TClientDataSet - request synchronization error
 
Zitat:

Zitat von Nersgatt (Beitrag 1238451)
Zitat:

Zitat von Angel4585 (Beitrag 1238450)
1. Wie repariert man bei Firebird eine defekte Datenbank?

mach mal eine Datensicherung der Datenbank und spiele die Datensicherung in eine neue Datenbank zurück.

Immernoch die selbe Fehlermeldung, Datenbank scheint als nicht defekt zu sein.
Irgendwas an der Kommunikation scheint nicht zu stimmen.

Ich vermute die TSQLConnection oder das TSQLDataSet, aber hab keine Ahnung.

Sir Rufo 4. Dez 2013 08:21

AW: Firebird: TClientDataSet - request synchronization error
 
Öffne mal nur die ClientDatasets

Angel4585 4. Dez 2013 08:33

AW: Firebird: TClientDataSet - request synchronization error
 
Ich hatte extra beide geöffnet, weil da mal ein Fehler kam wenn ich das nicht gemacht hab, aber jetzt geht das auf einmal. :gruebel:
Hab aber in der History geschaut, der Fehler damals hatte ne andere Ursache, alles gut also.

Danke Sir Rufo! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:29 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