Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Verschiedene Datenbanken pflegen (https://www.delphipraxis.net/122169-verschiedene-datenbanken-pflegen.html)

Morphie 10. Okt 2008 17:03

Datenbank: Firebird, MySQL,... • Zugriff über: UniDAC

Verschiedene Datenbanken pflegen
 
Ich habe vor ein Programm zu erstellen, welches verschiedene Datenbanken anbietet, z.B. Firebird und MySQL.
Dafür benutz ich UniDAC von CoreLab.
Das Programm wird ein längeres Projekt, welches auch immer weiter gepflegt und erweitert wird.
Deswegen nun meine Frage:
Wie lass ich mein Programm die verschiedenen Datenbanken am Besten pflegen? Also neue Tabellen anlegen, alte unbenötigte Felder löschen, neue Felder anlegen, Indizes setzen,...

Hat da jemand ne Erfahrung mit?

RWarnecke 10. Okt 2008 18:41

Re: Verschiedene Datenbanken pflegen
 
Du möchtest also soetwas wie den IBExpert für Interbase und Firebird für mehrere Datenbanken bauen. Habe ich das soweit richtig verstanden ?

Elvis 10. Okt 2008 18:53

Re: Verschiedene Datenbanken pflegen
 
Zitat:

Zitat von RWarnecke
Du möchtest also soetwas wie den IBExpert für Interbase und Firebird für mehrere Datenbanken bauen. Habe ich das soweit richtig verstanden ?

Nein, Updates zu seinem Programm sollen die bestehende Datenbank aktualisieren können.. (Also die Metadaten)

Morphie, schaue dir an, was du an Objekttypen verwendest. Dann schaue ob UniDAC dir eine generische Möglichkeit gibt, Metadaten einer DB auszulesen.
Also Tabellen, Spalten, Indizes, ...
Nun nimmst du dir einfach ein Objektmodell, was das für dich ausdrücken kann. So dass du bei einem Update sagen kannst: "so soll es ausssehen".
Dein Programm muss dann die wirklichen Metadaten aus der DB lesen und mit den geforderten Vergleichen.
Am Ende musst du ein Change script erzeugen, welches dann die DB auf den neuesten Stand bringt.

Wenn UniDAC das nicht für die unterstützten DBs kann, solltest du dir eine abstrakte Basisklasse und Ableitungen für jedes DBMS schreiben, die aus deiner Definition für eine Tabelle (mit Infos über Spalten, Indizes, Keys, ...) und dem was wirklich da ist das richtige Change script erzeugen können.

Das ist egentlich reine Fleißarbeit. Also viel Arbeit aber nicht wirklich sehr schwierig.
Ich weiß leider nichts von einer Delphi Bibliothek, die das für dich übernehmen könnte... :oops:


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