Thema: Delphi Update Metadaten SQL

Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

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

Re: Update Metadaten SQL

  Alt 24. Jun 2009, 08:11
Warum in die Ferne schweifen wenn bexpert das alles kann
lege folgendes als datei comp.sql ab:

SQL-Code:
execute ibeblock
as
begin
  create connection RefDB dbname 'localhost:c:\RefDB.fdb'    password 'masterkeyuser 'SYSDBA' clientlib 'C:\Program Files\Firebird\bin\fbclient.dll';
  create connection CustDB dbname 'localhost:c:\KundenDB.fdb' password 'masterkeyuser 'SYSDBA' clientlib 'C:\Program Files\Firebird\bin\fbclient.dll';

  cbb = 'execute ibeblock (
LogMessage variant)
as
begin
ibec_progress(LogMessage);
end
';

  ibec_CompareMetadata(RefDB, CustDB, 'C:\CompRes.sql', '', cbb);

  close connection RefDB;
  close connection CustDB;
end
sämtliche Optionen sind hier beschrieben: http://ibexpert.net/ibe/index.php?n=...ompareMetadata

Ausführen kannst du das ganze mit ibescript.exe als batchdatei oder aus deiner applikation mit ibescript.dll auf jedem lizensierten Rechner,
ibescript.exe comp.sql
ibescript.exe compRes.sql
und schon ist die DB angepasst

Um das ausführen zu können brauchst du
-entweder eine IBExpert Vollversion auf dem Rechner wo das uasgeführt wird, Kosten 189 Euro
-oder eine Lizenz der IBExpert Servertools, kostet als Zehnerpack zur Weitergabe an Kunden 49,90 Euro pro Kunde (http://ibexpert.net/shop/pi13/pi15/index.html)
-oder eine VAR Lizenz, dann kannst du das unbegrenzt weitergeben an alle Kunden

In den Servertools sind noch weitere Sachen dabei, zum Beispiel Backup/Restore scheduler usw.

Die komplette ibeblock Implementation ist ausgelegt für nicht beaufsichtigte Ausführung beim Endanwender.

Kleiner Tip nebenbei: Mal eben Systemtabellen vergleichen reicht da nicht, weil diverse Abhängigkeiten aufgelöst werden müsssen und ggf vor dem Metadatenupdate die Objekt in der richtigen Reihenfolge zerstört werden müssen, um danach dann wieder erzeugt zu werden.

Ein Kunde hatte mal so was ähnliches selbst programmiert und einen Fehler nicht berücksichtigt, daher liess sein Updateprogramm die DB ohne Fehlermeldung komplett ohne Indizes, Primärschlüssel und Fremdschlüssel zurück. Das man auf der DB nicht mehr arbeiten konnte kann man sich vorstellen.

[edit=mkinzler]SQL-Tag eingefügt Mfg, mkinzler[/edit]
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