AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken FB 1.5 distinct bei varchar(2048) DB geht hops
Thema durchsuchen
Ansicht
Themen-Optionen

FB 1.5 distinct bei varchar(2048) DB geht hops

Ein Thema von Kostas · begonnen am 26. Jul 2022 · letzter Beitrag vom 27. Jul 2022
Antwort Antwort
Seite 2 von 2     12   
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.058 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: FB 1.5 distinct bei varchar(2048) DB geht hops

  Alt 27. Jul 2022, 09:58
Hallo Holger,

ich habe mit IBExpert ein Backup erzeugt mit der fbclient.dll aus der FB1.5 Server.
Danach ein Restore mit der fbclient.dll aus der FB3.0 Server.

Dabei bekomme ich die Fehlermeldung:
IBE: Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
Invalid metadata detected. Use -FIX_FSS_METADATA option.
Malformed string.
Exiting before completion due to errors.


FIX_FSS_METADATA habe ich nicht ausgeführt, sicherlich kann man das in IBExpert irgendwo eintragen.

Dann habe ich über IBExpert Extract Metadata nur die Struktur exportiert und wollte daraus eine neue FB3.0 DB anlegen. Die leere DB habe ich vorher angelegt. Bis auf ein paar Trigger wurde die DB angelegt. Danach Extract Metadata ohne Struktur jedoch mit Daten und importiert. Das hat funktioniert.

Die Systemtabellen habe ich nie angefasst.

Bezüglich des alten D5 Projektes, das kann ich eh nicht auf D11 umstellen. Der Aufwand ist viel zu groß. Noch zudem hatte ich einige Designfehler damals gemacht, auch das Unternehmen wurde in den über 20 Jahren in einigen Punkten geändert. Es macht nur Sinn die Anwendung komplett neu aufzusetzen. Der Kunde zieht nicht so recht weil die Anwendung stabil läuft. Aber es sind junge Nachfolger die den Betrieb übernehmen und wir sind schon in Kontakt. Mal sehen wie sich das entwickelt.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: FB 1.5 distinct bei varchar(2048) DB geht hops

  Alt 27. Jul 2022, 10:41
warum klappte backup/restore nicht?

sonst mach die db einfach mit fb25 auf (das geht auch mit fb15 datenbanken) und mach darüber backup/Restore.
ich kenn eigentlich keinen wirklichen grund, warum backup/restore nicht möglich sein sollte, es sei denn die db war schon
mit diversen updates auf systemtables ruiniert, das wüsste man aber.
ähm.. \misc\upgrade\metadata vergessen?



Zitat:
Dabei bekomme ich die Fehlermeldung:
IBE: Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
Invalid metadata detected. Use -FIX_FSS_METADATA option.
Malformed string.
Exiting before completion due to errors.
schau dir den Inhalt von Firebird\misc\upgrade\metadata und führ die genannten Schritte aus, dann sollte das passen. ggf. hat FB 3 noch weitere Anpassungen...
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
646 Beiträge
 
FreePascal / Lazarus
 
#13

AW: FB 1.5 distinct bei varchar(2048) DB geht hops

  Alt 27. Jul 2022, 20:30
FIX_FSS_METADATA habe ich nicht ausgeführt, sicherlich kann man das in IBExpert irgendwo eintragen.
ist eigentlich unten im restore dialog unübersehbar
https://www.ibexpert.net/ibe/pmwiki....estoreDatabase

wird auch nur ein mal gebraucht beim schritt von fb<=20 auf fb>=21

viel glück bei der Kommunikation mit den neuen Chefs, oft sind die übrigens
durchaus bereitwilliger zu verstehen, das uralte Version nun mal offene
Sicherheitslücken haben können, ob das relevant ist, kann eh niemand sagen,
aber wenn irgendwann mal jemand da doch in was seltsames reinläuft
oder daten verliert, hilft es immer weiter, derartige Vorschläge nicht
nur mündlich gemacht zu haben
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#14

AW: FB 1.5 distinct bei varchar(2048) DB geht hops

  Alt 27. Jul 2022, 20:48
Wie greift Ihr denn auf FireBird zu?
Ich bin mir jetzt nicht sicher auf was du dich beziehst. Wenn es um den distinct Fehler mit FB 1.5 geht, ist der Zugriff egal. Ausprobiert habe ich es direkt in IBExpert. Wenn du das Thema ansprichst alten Delphi5 Projekt mit FB1.5 hoch ziehen auf D11 mit FB3.0, hier wird IBObjects verwendet. Die habe ich auch für D11 lizenziert und funktionieren von D11 aus auf FB1.5 bis FB 3.0 problemfrei. Wenn ich das Projekt umschreiben würde, würde IBO nicht mehr verwenden da die Entwicklung seit Jahren stehen geblieben ist und der Support vom Jason überhaupt nicht funktioniert.

Gruß Kostas
Ich meinte: Bei Delphi 5 bleiben und trotzdem FireBird 3 verwenden.
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.058 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: FB 1.5 distinct bei varchar(2048) DB geht hops

  Alt 27. Jul 2022, 21:04
FIX_FSS_METADATA habe ich nicht ausgeführt, sicherlich kann man das in IBExpert irgendwo eintragen.
ist eigentlich unten im restore dialog unübersehbar
https://www.ibexpert.net/ibe/pmwiki....estoreDatabase
Den Dialog habe ich mir schon angeschaut aber den Begriff "FIX_FSS_METADATA" sehe ich nicht.
es gibt nur "Fix malformed UNICODE_FSS data" und "Fix malformed UNICODE_FSS metadata"
Für die neue FB 3.0 DB hatte ich übrigens ebenfalls den Zeichensatz ISO8859_1 verwendet.

Oder ist "FIX_FSS_METADATA" = "Fix malformed UNICODE_FSS metadata"
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.058 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: FB 1.5 distinct bei varchar(2048) DB geht hops

  Alt 27. Jul 2022, 21:06
[QUOTE=Delphi.Narium;1509397]
Wie greift Ihr denn auf FireBird zu?

Gruß Kostas
Ich meinte: Bei Delphi 5 bleiben und trotzdem FireBird 3 verwenden.
ah, ok. Ich habe zwar IBO für D11 lizenziert aber ich habe mich nicht getraut IBO auf D5 zu aktualisieren. Aber du hast vollkommen recht. Ein Versuch ist auf jeden Fall wert.
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
646 Beiträge
 
FreePascal / Lazarus
 
#17

AW: FB 1.5 distinct bei varchar(2048) DB geht hops

  Alt 27. Jul 2022, 23:09
Oder ist "FIX_FSS_METADATA" = "Fix malformed UNICODE_FSS metadata"
Die Ähnlichkeit sollte durchaus übrzeugend sein oder?
unsere Bezeichnung hat da noch 2 extra wörter drin, ist aber funktional exakt das selbe

Als Hintergrund info: fb<=20 hat char/varchar/blob subtype text felder in den Systemtabellen
mit charset NONE.

Wenn du da in einem trigger oder SP source oder einer Description zum Beispiel Umlaute
benutzt hast war das technisch kein Problem, aber zeigte bei Verbindungen mit anderem
charset auf den Systemtabellen unsinn an (malformed string usw).

Durch den Fix werden die in den Systemtabllen benutzten Zeichen äöüß € etc meistens sauber
erkannt und nach dem fix in fb>=21 als saubere UNICODE_FSS Zeichen gespeichert.
das Euro zeichen hätte dann zB 3 statt vorher 1 byte belegt. wenn man den
backup/Restore danach noch mal mit dem parameter macht, schaut der sich aber die
neuen 3 bytes einzeln an weil der ja meint, das es NONE wäre und macht daraus wieder
neue UNICODE_FSS Codes. klingt zwar erst mal nicht schlimm, aber ein Kunde hat dabei
seine ca 50MB große Datenbank, die schon fb2.5 war, bei jedem wöchentlichen backup/restore
lauf aufgeblasen, so das die nach einem halben jahr ohne annähernd so viele neue Daten
auf ca 2GB aufgeblasen, weil er das beim gbak restore in seiner batch immer als param drin
hatte (doofe idee).

ca 95% von dem ganzen Platz in der DB belegten dabei daher Systemtabellen, das meiste glaub ich
rdb$relation_fields, weil dort die descriptions intensiv benutzt wurden, dadurch aber völllig
explodiert sind und auch alles lahm gelegt haben.

Konnten wir durch sum(char_length( auf den feldern dann rausfinden, weil es ganz sicher blobs
der Systemtabellen waren. Und auf den haben wir dann die quatschigen inhalte, die eh keiner
lesen kann, pr update gelöscht, danach backup/restore ohne den parameter und es war wieder klein
und schnell.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:36 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