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 1 von 2  1 2      
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#1

FB 1.5 distinct bei varchar(2048) DB geht hops

  Alt 26. Jul 2022, 15:45
Datenbank: FB • Version: 1.5 • Zugriff über: FIREDAC
Hallo Zusammen,

gerade habe ich ein gemeines Problem festgestellt.
Ich habe ein Select distinct mit ein paar Felder. Eines davon ist als varchar(2048) angelegt. Wenn ich dieses Select ausführe wird die Connection geschlossen und im Firebird.log steht:

fbserver.exe: terminated abnormally (4294967295)
INET/inet_error: read errno = 10054

ich versuche mal die DB auf FB 3.0 hoch zu ziehen. Mal sehen ob dieses Problem auch bei FB 3.0 entsteht.

[Edit] Ich habe die DB natürlich nicht in FB 3.0 über Backup-/Restore überführen können. Die Struktur konnte ich allerdings exportieren und eine neue FB 3.0 anlegen. Ein paar Trigger hat er nicht angelegt aber das ist für den Test egal.
Die betroffene Tabelle hatte auch glücklicherweise keine FKs und konnte somit die Daten über ein Script exportieren-/Importieren.

Das Problem taucht bei FB 3.0 NICHT auf, nur bei FB 1.5.


Gruß Kostas

Geändert von Kostas (26. Jul 2022 um 16:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.378 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 26. Jul 2022, 16:10
"Überlange" Text-Felder (VARCHAR) als Blob (TEXT) und fertig.

Wir hatten im PgDAC nur Probleme bei Überlangen VARCHAR, welche in der DB aber ohne Länge deklariert waren.
(die DB hatte dort Größeres erlaubt, aber im Programm wurde nur Speicher für bis zu 32KB/16KChars vorgesehn, was in einem Pufferüberlauf endete, falls wirklich mal mehr Text drin stand .... oder waren es 64KB/32KChars, aber egal)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (26. Jul 2022 um 16:13 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.876 Beiträge
 
Delphi 11 Alexandria
 
#3

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

  Alt 26. Jul 2022, 16:31
Bis zu einer Länge von 32KB bestehr bei FireBird eigentlich kein Unterschied zwischen eine CLOB un Varchar
Markus Kinzler
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 26. Jul 2022, 16:53
Das Projekt hat schon ein paar Jahre auf dem Buckel. Angefangen mit BDE und Paradox 4.0 und umgestellt auf Firebird 1.0. In FB 1.0 gab es Probleme mit Memos. Deshalb wurden damals lange varchars verwendet. In FB 1.5 gab es keine Probleme mit Memos und dieses Problem mit distinct ist bis jetzt noch nicht aufgefallen. Erst vor kurzem habe ich in einer Query ein Jon auf eine Tabelle mit so einem Feld und schon hat es geknallt.

Das Projekt umstellen auf FB 3.0 geht nicht. Ich habe Fremdkomponenten im Einsatz die es nicht mehr gibt wie z.B. ToolBar2000/TBX . Deshalb muss ich auch Delphi 5 verwenden für dieses Projekt.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#5

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

  Alt 26. Jul 2022, 17:05
Wenn es nur um dise Komponente geht, könnte ich dir eine für Unicode Delphi angepasste Version zukommen lassen. Sie entspricht allerdings nicht mehr zu 100% dem Original, da ich diese jeweils für meine Bedürfnisse angepasst/erweitert habe. Die Komponenten laufen bei mir aktuell mit D11 problemlos.
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#6

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

  Alt 26. Jul 2022, 17:14
Wenn es nur um dise Komponente geht, könnte ich dir eine für Unicode Delphi angepasste Version zukommen lassen. Sie entspricht allerdings nicht mehr zu 100% dem Original, da ich diese jeweils für meine Bedürfnisse angepasst/erweitert habe. Die Komponenten laufen bei mir aktuell mit D11 problemlos.
vielen lieben Dank, aber es sind noch weitere Komponenten. Ich müsste vorher in Delphi 5 die Komponenten ersetzen durch kompatible. Das ist so viel Arbeit, es ist fast unmöglich. Noch zudem sind das individuelle Kunden-Anwendungen. Aber gut zu wissen dass es evl. eine Möglichkeit gäbe.

Gruß
Kostas
  Mit Zitat antworten Zitat
Delphi.Narium

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

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

  Alt 26. Jul 2022, 17:28
Wie greift Ihr denn auf FireBird zu?

Im Zweifel kann man per ADO-Komponenten und ODBC-Treiber auch auf FireBird 3 zugreifen. Zumindest in Delphi 7 ist das kein Problem.

Selbst über die BDE und ODBC sollte das noch hinzukriegen sein.

Die ODBC-Treiber sind auch nicht mehr die Neuesten, aber sie funktionieren auch noch mit FireBird 3.

Klar, ein bisserl altertümlich und absolut nicht state of the art, aber eventuell eine Alternative.
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
695 Beiträge
 
FreePascal / Lazarus
 
#8

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

  Alt 27. Jul 2022, 09:14
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.

und weitere tip zum ausprobieren: aktualisier einfach den fbclient auch auf die aktuelle version (ggf als gds32.dll kopieren
und mit den anderen msv*.dll auf dem fb3 zip file in den pfad der alten exe kopieren) und versuch den zugriff
mit deinen alten komponenten aus der alten exe.

Wenn es echte probleme dann gibt, dann fast nur durch nicht mehr gültige
SQL Befehle, die man dann halt ändern muss, wenn die nicht über relax
alias checking lauffähig sein

wenn du schreibst "geknallt", was meinst du da mit. ist der rechner explodiert? Gab es eine sichtbare Fehlermeldung, die
von Firebird kommen könnte? ist das gleich sql auch mit externer tools wie ibexpert genau so ein problem? alternativ
steht in der firbeird.log was drin? vieles lässt sich von altem kram mit firebird.conf relaxed alias checking beheben,
aber ganz sicher nicht alles.

Und delphi5 geht nicht mit fb3 halte ich für eine gerücht, ich kenne da eine ziemlich bekannte exe von uns die mit d5
compiliert ist und auch fb4 kann. wenn der fbclient zum server passt können auch alte projekte mit neueren fb versionen
arbeiten
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#9

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
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
695 Beiträge
 
FreePascal / Lazarus
 
#10

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
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:53 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