Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Generator gibt undefinierte Werte zurück (https://www.delphipraxis.net/54557-generator-gibt-undefinierte-werte-zurueck.html)

VizeTE 6. Okt 2005 13:48

Datenbank: Interbase • Version: 4 • Zugriff über: Konsole / IBExpert

Generator gibt undefinierte Werte zurück
 
Hallo,

ich habe für meine Datenbank einen Generator mit der Konsole (isql) angelegt und anschließend auf den Startwert 0 gesetzt.
SQL-Code:
/*anlegen*/
CREATE GENERATOR Test;
/*initialisieren*/
SET GENERATOR Test TO 0;
Soweit kein Problem. Wenn ich jetzt aber die Datenbankverbindung schließe und wieder herstelle gibt der Generator eine riesige Zahl wieder, die für mich nach keinem Muster folgt. Wenn ich den Generator wieder setzte funktioniert er bis ich die Verbindung erneut trenne.
Als Gegenprobe habe ich das dann mal mit dem IBExpert probiert. Da sah alles recht ähnlich aus. Hier hatte der Generator aber jedes mal den Wert 0. (zum testen habe ich ihn auf 1 gesetzt, nach dem erneuten verbinden stand er wieder auf 0)

Das ganze Problem hängt scheinbar mit der DB zusammen. Auf einen anderen Rechner mit der gleichen IB-Version habe ich diesen Effekt nicht. Hier funktioniert alles wie erwartet.

Kann mir jemand sagen wie es zu diesen Effekt kommt / wie ich ihn entgegenwirken kann?

Danke

marabu 6. Okt 2005 16:30

Re: Generator gibt undefinierte Werte zurück
 
Hallo,

die Werte für die Generatoren werden nicht relational gespeichert. Einen ersten Reparatur-Versuch kannst du mit Backup und Restore über die Konsole starten. Wenn das nicht hilft, dann sehen wir weiter.

Grüße vom marabu

Noch eins: du setzt da eine ziemlich alte Interbase Version ein. Version 4 hat nach meiner Erinnerung nur eine page für Generatoren reserviert. Der von dir beschriebene Fehler deutet normalerweise darauf hin, dass du zu viele Generatoren für die gewählte page size per ISQL angelegt hast. Erst in der letzten 6er Version wurde der bug behoben, bei dem ISQL fröhlich Generatoren in die system table einträgt, der Generator aber keinen Platz in der generator page findet. Spätere Zugriffe liefern dann "Zufallswerte".

VizeTE 10. Okt 2005 10:43

Re: Generator gibt undefinierte Werte zurück
 
Zitat:

Zitat von marabu
Der von dir beschriebene Fehler deutet normalerweise darauf hin, dass du zu viele Generatoren für die gewählte page size per ISQL angelegt hast.

Ich glaube das ist bei mir nicht das Problem. Ich habe in der DB 18 Generatoren definiert. Auf der funktionierenden Datenbank auf dem Testrechner sind jedoch schon 21 Generatoren vorhanden. Oder kann das noch an der DB-Konfiguration liegen?

Wie auch immer...ich werde mal den Versuch mit Backup/Restore starten.


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