Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Unsupported disk-structure (https://www.delphipraxis.net/197759-unsupported-disk-structure.html)

NoName1 2. Sep 2018 14:42

Datenbank: Interbase • Version: XE7 • Zugriff über: IB

Unsupported disk-structure
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag,
nach dem ich XE7 neu installiert habe, bekomme ich beim Aufrufen
folgende Fehlermeldung:
"unsupported on-disk structure for file d:\.....\ found 32779, supported 15".
siehe auch die Anlage.
Was bedeutet der Fehler und wie kann ich ihn beheben?
Die Datenbank wurde ja vorher auch mit XE7 aufgerufen.
Vielen Dank für Eure Hilfen.

Uwe Raabe 2. Sep 2018 15:09

AW: Unsupported disk-structure
 
Vermutlich hast du verschiedene Interbase-Versionen auf deinem System. Gut möglich, daß das bei der XE7-Installation passiert ist, wenn vorher schon eine da war.

NoName1 2. Sep 2018 15:56

AW: Unsupported disk-structure
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1412250)
Vermutlich hast du verschiedene Interbase-Versionen auf deinem System. Gut möglich, daß das bei der XE7-Installation passiert ist, wenn vorher schon eine da war.

Guten Tag Uwe Raabe,
es war vorher keine Version auf dem Rechner vorhanden.

Mit Gruß NoName1

hoika 2. Sep 2018 18:22

AW: Unsupported disk-structure
 
Hallo,
sieht so aus, als ob vorher Firebird drauf war.
Schau mal im Programme-Verzeichnis nach.

Delphi.Narium 2. Sep 2018 18:50

AW: Unsupported disk-structure
 
Tante Google bringt mir mit unsupported on-disk structure for file interbase u. a. dashier: https://stackoverflow.com/questions/...mydatabase-fdb

mkinzler 2. Sep 2018 19:53

AW: Unsupported disk-structure
 
-Die Datenbank ist neuer als der Client
-Die Datenbank ist Firebird und Client ist Interbase oder umgekehrt

Lemmy 2. Sep 2018 20:07

AW: Unsupported disk-structure
 
siehe:
https://www.delphipraxis.net/197761-...ml#post1412262
er hat die DB mit Firebird bearbeitet....

NoName1 3. Sep 2018 08:27

AW: Unsupported disk-structure
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von mkinzler (Beitrag 1412265)
-Die Datenbank ist neuer als der Client
-Die Datenbank ist Firebird und Client ist Interbase oder umgekehrt

Aber FireBird 2.5 ist doch auch installiert und gestartet. Die fbclient.dll
hatte ich umbenannt und nach \system32 kopiert. Auch dies brachte kein Erfolg.
Delshalb habe ich die Original dll wieder zurück kopiert.
Ich benutze zur Datenbank-Administration den "SQL-Manager for Interbase/Firebird"
mit diesem Programm kann ich problemlos auf die Datenbank zugreifen, nur XE7 gibt den Fehler aus.
In den Umgebungsvariablen von XE7 stehen bei beiden System (vorheriges und neues) die gleichen Daten.
Siehe dazu auch den ScreenShoot.
Woran kann es denn nun noch liegen? Was muss noch eingestellt werden?

Lemmy 3. Sep 2018 08:32

AW: Unsupported disk-structure
 
Zitat:

Zitat von NoName1 (Beitrag 1412297)
Zitat:

Zitat von mkinzler (Beitrag 1412265)
-Die Datenbank ist neuer als der Client
-Die Datenbank ist Firebird und Client ist Interbase oder umgekehrt

Aber FireBird 2.5 ist doch auch installiert und gestartet. Die fbclient.dll
hatte ich umbenannt und nach \system32 kopiert. Auch dies brachte kein Erfolg.
Delshalb habe ich die Original dll wieder zurück kopiert.
Ich benutze zur Datenbank-Administration den "SQL-Manager for Interbase/Firebird"
mit diesem Programm kann ich problemlos auf die Datenbank zugreifen, nur XE7 gibt den Fehler aus.
In den Umgebungsvariablen von XE7 stehen bei beiden System (vorheriges und neues) die gleichen Daten.
Siehe dazu auch den ScreenShoot.
Woran kann es denn nun noch liegen? Was muss noch eingestellt werden?

das wurde doch nun deutlich gemacht: greif mit Firebird auf die Datenbank zu und gut ist. Oder mach mit Firebird ein Backup und spiel das mit Interbase wieder ein, dann könnte das wieder mit Interbase klappen.

mkinzler 3. Sep 2018 08:50

AW: Unsupported disk-structure
 
Zitat:

hatte ich umbenannt und nach \system32 kopiert. Auch dies brachte kein Erfolg.
Bei 64Bit Systemen wäre der richtige Pfad SYSWOW64 (in system32 befinden sich die 64Bit Versionen)

hoika 3. Sep 2018 09:26

AW: Unsupported disk-structure
 
Hallo,
Zitat:

Aber FireBird 2.5 ist doch auch installiert und gestartet.
Mag sein, aber Interbase startet früher und hat sich den Default-Port 3050 gekrallt.
Firebird ist zwar gestartet, du kannst Dich aber nicht verbinden.

Lösung1:
Interbase-Dienst deaktivieren (Sind das immer noch 2 Dienste, Interbase Server oder der Guardian?)
Rechner neu starten
Jetzt kommt Firebird auch an den Port 3050


Lösung2:
Firebird mit Port 3051 starten, dazu die Datei Firebird.Conf bearbeiten und Firebird neu starten
den Connection String dann anpassen "localhost/3051:c:\data.gdb

Warum der SQL-Manager trotzdem funktioniert, kann ich nicht sagen.

PS:
Die Conf-Datei liegt Programme-Verzeichnis, muss also erst mal z.B. auf den Desktop kopiert, dort geändert und wieder zurückgespielt werden.

NoName1 3. Sep 2018 11:26

AW: Unsupported disk-structure
 
Zitat:

Zitat von hoika (Beitrag 1412305)
Hallo,
Zitat:

Aber FireBird 2.5 ist doch auch installiert und gestartet.
Mag sein, aber Interbase startet früher und hat sich den Default-Port 3050 gekrallt.
Firebird ist zwar gestartet, du kannst Dich aber nicht verbinden.
...

Ich habe Deine 2 Lösungsvorschläge ausprobiert. Es geht aber trotzdem nicht.
Bekomme jetzt die Fehlermeldung "unavailable database"
Wieso ist nun die Datenbank unbekannt?
Gibt es evtl. noch andere Vorschläge wie ich weiter vorgehen kann?

mkinzler 3. Sep 2018 11:29

AW: Unsupported disk-structure
 
Hast Du den Port im Programm auch geändert?

MichaelT 3. Sep 2018 11:45

AW: Unsupported disk-structure
 
Da der SQL-Manager eine andere DLL zieht.

Zitat:

Zitat von hoika (Beitrag 1412305)
Hallo,
Warum der SQL-Manager trotzdem funktioniert, kann ich nicht sagen.


NoName1 3. Sep 2018 11:47

AW: Unsupported disk-structure
 
Zitat:

Zitat von mkinzler (Beitrag 1412317)
Hast Du den Port im Programm auch geändert?

Der ist auf 3050 eingestellt.
Scheinbar wird nicht die richtige gds32.dll für die Datenbank benutzt.
Woher bekomme ich die richtige? Wie kann ich Prüfen welche gds die Datenbank benötigt?

Uwe Raabe 3. Sep 2018 11:54

AW: Unsupported disk-structure
 
Hast du dir den von mir an anderer Stelle verlinkten Artikel Changing InterBase connection defaults in RAD Studio mal angesehen? Vielleicht gibt es darin ja noch den einen oder anderen Hinweis.

MichaelT 3. Sep 2018 12:10

AW: Unsupported disk-structure
 
Der Name der Datenbank kann nicht aufgelöst werden, das wäre an sich der Regelfall oder du musst den Port freischalten. Obwohl ich mit Ports schon lange keine Probleme mehr hatte.

Zitat:

Zitat von NoName1 (Beitrag 1412316)
Zitat:

Zitat von hoika (Beitrag 1412305)
Hallo,
Zitat:

Aber FireBird 2.5 ist doch auch installiert und gestartet.
Mag sein, aber Interbase startet früher und hat sich den Default-Port 3050 gekrallt.
Firebird ist zwar gestartet, du kannst Dich aber nicht verbinden.
...

Ich habe Deine 2 Lösungsvorschläge ausprobiert. Es geht aber trotzdem nicht.
Bekomme jetzt die Fehlermeldung "unavailable database"
Wieso ist nun die Datenbank unbekannt?
Gibt es evtl. noch andere Vorschläge wie ich weiter vorgehen kann?


MichaelT 3. Sep 2018 12:14

AW: Unsupported disk-structure
 
Riecht tatsächlich nach Firebird vs. Interbase. ODS ist das Fileformat der DB(Files). Bei den Mainstream DBs hast du schon Jahre kein Umstellung mehr, da die On Disk Structures kaum mehr einer angreift.

---

Es ist nicht sonderlich ratsam Firebird und Interbase Clients auf einem Rechner zu haben, insbesondere wenn man die fbclient.dll auf gds32.dll umkopiert resp. umbenennt.

Der Fehler den du im Moment hast riecht nach Interbase gds32.dll gegen den Firebird Server - möglw. umgekehrt. Ist die Anwendung mit IBX Komponenten (jene die beim Delphi dabei sind) geschrieben?

Die ziehen unter der Annahme dieses Pfads die gds32.dll und die geht nur gegen Interbase, genauso wie die FB-Client Library nur gegen Firebird geht.

---

Was macht Sinn.

a) fbclient.dll und gds32.dll Aus dem system32 rausnehmen und ein Verzeichnis (bspw. db) für DB Clients machen
a1) mit einem Unterverzeichnis für Firebird und
a2) einem für Interbase.
b) Die aktuelle DLL mit der du arbeitest kopierst bspw. in ein Verzeichnis bspw c:\DB\.
b1) Die Pfadvariable zeigt mal dort drauf. Stelle den Eintrag ganz zu Beginn.
c) Alle anderen Kopien mal löschen resp. in ein unerreichbares Verzeichnis wegsichern. Am besten in eine ZIP Datei.

Auf dem Weg entwirrst du den Knoten wieder schnell.

---

XE7 findet nicht oder die übersetzte Anwendung findet nicht?

Wenn du die DLL lokal ins Applikationsverzeichnis kopierst, dann musst du eine Kopie im jeweiligen Directory liegen haben bspw. win32\debug oder win32\release. Das gilt sofern im Projekt keine anderes Ausgabeverzeichnis definiert ist.

---

Der SQL-Manager hat entweder eigene Libraries oder zieht eine bestimmte.


Zitat:

Zitat von NoName1 (Beitrag 1412248)
Guten Tag,
nach dem ich XE7 neu installiert habe, bekomme ich beim Aufrufen
folgende Fehlermeldung:
"unsupported on-disk structure for file d:\.....\ found 32779, supported 15".
siehe auch die Anlage.
Was bedeutet der Fehler und wie kann ich ihn beheben?
Die Datenbank wurde ja vorher auch mit XE7 aufgerufen.
Vielen Dank für Eure Hilfen.


hoika 3. Sep 2018 15:12

AW: Unsupported disk-structure
 
Hallo,
Deinstalliere Firebird und Interbase.
Suche mal alle gds32.dll's, vor allem die unter Windows (System32 (SysWOW64 usw.) und lösche die.

Installiere Firebird, jetzt hast Du eine passende gds32.dll und fbclient.dll im Windows-Verzeichnis.

Und erst jetzt solltest Du anfangen, mit den Ports "zu spielen", falls Du überhaupt Interbase und Firebird zusammen benutzen willst.
Aber erst, wenn der FB-Port 3051 funktioniert solltest Du dann weiter mit der Interbase-Installation machen.

NoName1 3. Sep 2018 16:25

AW: Unsupported disk-structure
 
Zitat:

Zitat von hoika (Beitrag 1412343)
Hallo,
Deinstalliere Firebird und Interbase.
Suche mal alle gds32.dll's, vor allem die unter Windows (System32 (SysWOW64 usw.) und lösche die.

Installiere Firebird, jetzt hast Du eine passende gds32.dll und fbclient.dll im Windows-Verzeichnis.

Und erst jetzt solltest Du anfangen, mit den Ports "zu spielen", falls Du überhaupt Interbase und Firebird zusammen benutzen willst.
Aber erst, wenn der FB-Port 3051 funktioniert solltest Du dann weiter mit der Interbase-Installation machen.

Vielen Dank für die Nachricht.
Genau dies werde ich morgen ausprobieren.
Ich möchte gar nicht Interbase und FireBird zusammen benutzen.

Edit:
Ich konnte das Warten nicht aushalten und habe getestet. Ich kann wieder über XE7 auf die Datenbanken zugreifen. D. H. es werden
die Tabellen in der DB-Verbindung angezeigt.
Vielen, vielen Dank an alle, deren Zeit ich in Anspruch nahm und mir erfolgreich geholfen haben.


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