AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Update Metadaten SQL
Thema durchsuchen
Ansicht
Themen-Optionen

Update Metadaten SQL

Ein Thema von hanspeter · begonnen am 23. Jun 2009 · letzter Beitrag vom 24. Jun 2009
Antwort Antwort
Seite 1 von 2  1 2      
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

Update Metadaten SQL

  Alt 23. Jun 2009, 10:36
Datenbank: Firebird • Version: 2.1 • Zugriff über: IBDAC
Hallo,
ich erzeuge eine FB Datenbank über einen von IBExpert ausgegebenen Script.
Jetzt möchte ich bei Programmneustart diesen Script mit der aktiven Datenbank
vergleichen und die vorhandene Datenbank updaten.
(Es können nur Felder hinzukommen oder die Größe von Feldern wird geändert.)
Ehe ich selbst anfange zu programmieren, kennt wer eine fertige Lösung?
IBExpert z.B. vergleicht 2 Datenbanken und erzeugt daraus einen Differenzscript.
IbExpert möchte ich bei dem Anwender aber nicht voraussetzen.

Mit Gruß
Peter
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Update Metadaten SQL

  Alt 23. Jun 2009, 10:39
Vergleiche die Systemtabellen
Markus Kinzler
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Update Metadaten SQL

  Alt 23. Jun 2009, 11:43
Zitat von mkinzler:
Vergleiche die Systemtabellen
Wie man das realisieren kann weis ich selber.
Die Datenbank ist auf dem User-Rechner nur einmal da, da gibt es keine zwei Systemtabellen zum Vergleich.

Meine Frage ist, ob jemand ein Tool kennt, das auch etwas kosten darf,
was mir einen Differenzscript zwischen aktueller Datenbank und einen
Referenzscript erzeugt oder die Datenbank gleich modifiziert.


Gruß
Peter
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#4

Re: Update Metadaten SQL

  Alt 23. Jun 2009, 12:47
LiquiBase!
http://en.wikipedia.org/wiki/LiquiBase
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: Update Metadaten SQL

  Alt 23. Jun 2009, 14:16
Hallo Hanspeter

für IBExpert existiert ein Plugin IBDatabase Comparer.
Womöglich hilft Dir dieser weiter.

Shalom
Manfred
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Update Metadaten SQL

  Alt 23. Jun 2009, 14:17
Müsste dazu aber nicht IBExpert auch beim Kunden installiert sein?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Update Metadaten SQL

  Alt 23. Jun 2009, 14:29
Danke.

LiquiBase schaue ich mir mal an.

Ich habe IBExpert als Vollversion. Da ist das Plugin dabei. Habe ich auch schon verwendet.
Da werden zwei Datenbanken vergleichen und ein Differenzscript erstellt.
Entweder nur für die Metadaten oder für Metadaten und Userdaten.

Der Hintergrund meiner Frage ist übrigens nicht uninteressant.
Ich habe FB Datenbanken bisher aus dem Programm heraus erzeugt. Mit D2009 aber Probleme mit der
Anzahl der Proceduren und Strings in einem Unit bekommen.

Jetzt habe ich auf Neuanlage über einen Script umgestellt. Diesen liefere ich auch als Update aus.
Der Script wird von IBExpert erzeugt und hat in der 2. Quellzeile einen Standardeintrag.
Dieser enthält Datum und Urzeit der Erzeugung.
Dieses Datum schreibe ich in die Datenbank.
Bei jedem Neustart lese ich aus dem Script diesen Zeitstempel aus und vergleiche ihn mit dem Datenbankeintrag.
Ist der Script neuer soll automatisch ein Update erfolgen.

Gruß
Peter
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Update Metadaten SQL

  Alt 23. Jun 2009, 14:30
Hallo,

das macht man aber etwas anders.
Führe eine DB-Nummer mit.

Die Nummer sagte dir, welche Struktur die Tabelle hat.
Jede neue Sache (Tabelle, Index usw.) bekommt eine neue höhere Nummer.

Du liest die alte aus, und führst dann nur die "Neu"-Änderungen aus,
z.B. über eine TXXScript-Komponente.

Vorteil:
Klappt mit jedem alten DB-Stand.


Heiko
Heiko
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#9

Re: Update Metadaten SQL

  Alt 23. Jun 2009, 14:44
Zitat von DeddyH:
Müsste dazu aber nicht IBExpert auch beim Kunden installiert sein?
Doch das sollte natürlich installiert sein.
Die Idee von Peter ist dann schon besser.

Da gab es vor einiger Zeit einen Thread diesbezüglich:
http://www.delphipraxis.net/internal...ct.php?t=49715

Shalom
Manfred
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Update Metadaten SQL

  Alt 23. Jun 2009, 20:05
Zitat von hoika:
Hallo,
das macht man aber etwas anders.
Führe eine DB-Nummer mit.
Heiko
Lohnt sich in diesem Fall nicht.
Die Datenbank wird etwa 4 Wochen vor einer Veranstaltung angelegt und 2 Wochen nach der Veranstaltung archiviert.
Eine archivierte Datenbank muss 2 Jahre aufbewahrt werden und wird nur im Ausnahmefall nochmals benötigt.
Oft kommt es vor, das aufgrund von Regeländerungen eine schnelle Änderung wärend der Veranstaltung notwendig ist.
Dann schicke ich das geänderte Script. Alles andere muss automatisch ablaufen.

Bei alten Datenbanken, welche nochmals benötigt werden, habe ich einen anderen Weg gewählt.
Ich gebe die gesamte Datenbank als XML Dateien aus. Diese kann ich dann bei Bedarf in eine Datenbank mit neuer Struktur einlesen.

Gruß
Peter
  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 12:26 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