![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: Zeos Komponenten
Fehler (FB+Zeos): internal gds software consistency check...
Hallo.
Ich erhalte folgenden Fehler: internal gds software consistency check (cannot find tip page (165)). Ich benutze: Zeos (Komponente TZConnection) und Firebird Embedded Server So ist das ganze verpakt:
Delphi-Quellcode:
Die Einstellungen von ZConnection1 im Objektinspektor sind:
...
// in der Klassendefinition von TForm1 private ZConnection1 :TZConnection; ... procedure TForm1.FormCreate(Sender: TObject); begin (*ZConnection1.Properties.Add( 'CreateNewDatabase=CREATE DATABASE ''MyDB.fdb'' '+ 'PAGE_SIZE=8192 USER ''SYSDBA'' PASSWORD ''masterkey''; '+ '');(**) ZConnection1.Connect; ZConnection1.Disconnect; ZConnection1.Properties.Clear; ZConnection1.Connect; end; AutoCommit: True Connected: False Database: '.\MyDB.fdb' HostName: '' Password: 'masterkey' Protocol: 'firebird-1.5' ReadOnly: False TransactionIsolation: tiNone User: 'SYSDBA' Vor dem ersten Programm lauf existiert die Datei './MyDB.fdb' nicht. Im 1. Programmlauf (F9) ist der oben auskommentierte Programmblock nicht auskommentiert. Das Programm startet und es tritt keine Exception auf. Ich beende das Programm wieder. Die Datei './MyDB.fdb' existiert und ist 1,04 MB (1.097.728 Bytes) groß. Im 2. Programmlauf (F9) wird die Prozedur wie oben angegeben ausgeführt. Es tritt die Exception auf. Delphi-Debugger-Meldung: Im Projekt Project1.exe ist eine Exception der Klasse EZSQLException aufgetreten. Meldung: 'SQL Error: internal gds software consistency check (cannot find tip page (165)). Error Code: -902. Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements'. Prozesswurde angehalten. Mit einzelne Anweisung oder Start fortsetzen. Ich bitte um Hilfe. Ich weiß nicht weiter... :coder2: Warum tritt der Fehler auf? Panthrax |
Anhang: Flash-Film zum Kernproblem
Um das Kernproblem nachvollziehbar zu gestalten, habe ich einen kleinen Flash-Film erstellt. Ich zeige, wie ich mit mit Delphi, allein unter Benutzung der wesentlichen Komponente TZConnection, zur Exception komme.
![]() Bitte nicht wundern, während der Flash-Film lädt, macht Lycos ein bisschen Werbung. Beim Ende hab ich ein bisschen knapp geschnitten, das letzte Wort ist nicht mehr ganz 'drauf'. Ich hoffe es hilft beim verstehen und helfen. Mir ist die Erleuchtung immer noch nicht gekommen... :coder2: ... so stellt sich für mich immer noch die Frage: Warum tritt der Fehler auf? Panthrax |
Re: Fehler (FB+Zeos): internal gds software consistency chec
Ich habe zwar keine Lösung zu dem Problem, aber ich wollte nur kurz mitteilen, dass das die gelungenste Fehlerbeschreibung war die mir bis Dato untergekommen ist! :thumb:
Illustrativer geht es kaum noch. Mit welchem Tool hast du das aufgenommen? Schönen Gruss, Fabian |
Re: Anhang: Flash-Film zum Kernproblem
Zitat:
|
Re: Fehler (FB+Zeos): internal gds software consistency chec
Moin,
gib mal in dem create database statement ein default character set an, z.B.:
SQL-Code:
Tschüss,
ZConnection1.Properties.Add('set sql dialect 1;');
ZConnection1.Properties.Add( 'CreateNewDatabase=CREATE DATABASE ''MyDB.fdb'' '+ 'PAGE_SIZE=8192 USER ''SYSDBA'' PASSWORD ''masterkey'' DEFAULT CHARACTER SET ISO8859_1; '+ ''); Lutz |
Re: Fehler (FB+Zeos): internal gds software consistency chec
Das Filmchen gucke ich mir nachher noch an. So ca. 16:00 wenn die Gerichtsshows kommen. :mrgreen: Allerdings habe ich folgende Vermutung : beim ersten Lauf geht doch das Programm oder ? Wird es denn tatsächlich komplett beendet ? Nicht nur in Delphi sondern auch auf Datenbankebene ? Sind alle Transaktionen tatsächlich beendet ?
Es geht mir darum, daß FB embedded eben ein lokaler Server ist. Also kann nur ein Prozess drauf zugreifen. Viele denken, daß sei eine Einzelplatz Datenbank, aber es kann auch nur mit einem Programm darauf zugegriffen werden :!: Natürlich nur zur selben Zeit !! |
Re: Fehler (FB+Zeos): internal gds software consistency chec
@Hansa
Genau. Wenn sich die Delphi IDE (Also die ZConnection im Designer) die DB schnappt, kann deine Debug session nicht mehr darauf zugreifen. ;) |
Re: Fehler (FB+Zeos): internal gds software consistency chec
Moin,
@Hansa, Robert_G : In diesem Falle wäre die Fehlermeldung aber anders, so im Stil : "Datei konnte nicht geöffnet werden, ist schon von einem anderen Prozess in Gebrauch." Das Problem liegt hier wohl eher im fehlenden DEFAULT CHARSET im Create DB Statement. Das scheint zu einer korrupten DB zu führen. Tschüss, Lutz |
Re: Fehler (FB+Zeos): internal gds software consistency chec
Eureka!
@dizzy: Dankeschön. Ich habe es mit BB Flashback aufgenommen. @Luckie: Vielleicht hat das, was der neumod'sche Volksmund als eLerning bezeichnet, ja doch die Kraft sich gegenüber zweifelhaften Fernsehsendungen durchzusetzten. (...) @Lume96: Ich habe ein Default-Character-Set angegeben. Und - es funktioniert! Die Datenbank lässt sich wieder öffnen in einem zweiten, dritten, vierten,... Programmlauf. Ich danke dir für den Hinweis! :thumb: An anderer Stelle im Netz (Quelle hab ich grad nicht parat) wird gesagt, dass mit den Zeos Komponenten in Verbindung mit Interbase/Firebird die Defaulteinstellung beibehalten werden sollte. Die Defaulteinstellung für den SQL-Dialekt ist 3. @Hansa: Ich glaube das Filmchen kannst du aus deinem Nachmittagsprogramm streichen. Das Programm läuft jetzt ohne Exception. Aber wenn du unbedingt magst... Ich lass es noch eine weile im Netz. Es ist ja nicht so, dass ich überhaupt nicht auf die Datenbank zugreifen konnte. Es ging immer nur beim ersten Mal - in dem Programmlauf in dem die DB auch erstellt wurde. Jeder weitere Programmlauf, in dem die Datenbank nicht erzeugt wurde, endete in einer Exception. (Die DB war für diese Programmläufe natürlich bereits vorhanden.) Was den Programmierstil an geht: Lange bevor ich auf Delphi umstieg, habe ich mit Pascal gearbeitet. Pascal ist nicht ao mütterlich mit einem umgegangen; man hatte stets selbst alles wegzuräumen. Diesen Programmierstil habe ich in Delphi beibehalten, auch wenn es unter Delphi scheinbar "nicht notwendig" ist. Das fehlende Disconnect aus meinem Einstiegsbeitrag steht in der FormDestroy-Methode. Für den Film habe ich darauf geachtet, dass alles optisch beieinander ist, und nicht noch eine zweite Methode begonnen. @Robert_G: Die Problematik um die unterschiedlichen Zugriffe seitens IDE und Programm bei Ausfhrung habe ich gewusst. Ich hatte die Verbindung in der IDE nicht offen. - Ging ja auch nicht, die IDE hat mir beim setzen von Connected:=True im Objektinspektor den selben Fehler gemeldet, wie das Programm zur Laufeit. Für den Fall, dass die Datenbank nicht geöffnet werden kann, weil die Dateizugriffsrechte fehlen, hatte ich einen andersgearteten Fehler erwartet. Da simme ich mit Lume96 überein. @Lume96 (2): So ähnlich hatte ich auch gedacht. Hier noch ein paar Links zum Thema Default Character Set:
|
Re: Fehler (FB+Zeos): internal gds software consistency chec
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz