Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird embedded und C/S in einem Programm (https://www.delphipraxis.net/108299-firebird-embedded-und-c-s-einem-programm.html)

hanspeter 11. Feb 2008 07:44

Datenbank: Firebird • Zugriff über: IBDAC

Firebird embedded und C/S in einem Programm
 
Hallo,
ehe ich es probiere, vielleicht hat ja wer einen Tip, ob das überhaupt funktioniert.
Ich möchte in FB auf C/S und embedded aus dem gleichen Programm zugreifen.

Hintergrund:
Installiert ist FB 2.0 / 2.1.
Im Archiv sind bei manchen Anwendern noch Datenbanken vorhanden, die mit Version <= 1.5 erstellt wurden.
Um solche Datenbanken nochmals nutzen zu können, ist eine Konvertierung auf das Format 2.0 / 2.1 notwendig.

Also eine Datenbank lesen mit dem 1.5 Treiber embedded und ausgeben mit der 2.1. Server installiert.
Der übliche Weg über Backup/Restore in gback ist nicht anwendbar, da bei der Übernahme Tabellennamen und Feldnamen
angepasst werden müssen.

Hat wer einen Tip?

Mit Gruß
Peter

mkinzler 11. Feb 2008 08:51

Re: Firebird embedded und C/S in einem Programm
 
Ich würde ersteinmal den embedded-Client in der selben Version einsetzen. Man könnte die Metadaten auslesen _< anpassen und dann eine neue Datenbank anlegen.

hanspeter 11. Feb 2008 09:19

Re: Firebird embedded und C/S in einem Programm
 
Zitat:

Zitat von mkinzler
Ich würde ersteinmal den embedded-Client in der selben Version einsetzen. Man könnte die Metadaten auslesen _< anpassen und dann eine neue Datenbank anlegen.

Wenn es so einfach wäre,
das Programm ist seit 7 Jahren mit FB im Einsatz.
Am liebsten wäre es mir, wenn ich im Programm auch noch die Erstellungsversion erkennen könnte.
Im Laufe der Zeit haben sich Felder und Datentypen geändert, die muss ich auch anpassen.
z.B. habe ich irgendwann Texteingaben auf RTF geändert und muss nun mehrere Textvariablen in eine Blobvariable übernehmen.
Für mich selbst habe ich das Problem mit mehreren VM und jeweils einer installierten FB Version gelöst.
Davor durch Start des gewünschten Servers als Application mit einem anderen Port.
Das kann ich einen Kunden aber nicht zumuten. Da dauert erklären länger als selber machen.
Das Kopierprogramm ist fertig, ich muss nur auf unterschiedliche Treiber zugreifen können.
gback greift ja auch auf den installierten Server zurück.
Gibt es eigentlich ein Tool, welches mir ohne Server Metadaten und Daten ausliest und in ein transportables Format bringt?
Deiner Idee folgend, könnte man untschiedliche embedded Treiber in getrennten dll unterbringen und diese aus dem eigentlichen Programm aufrufen.

Gruß Peter


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