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 '
masterkey'
user '
SYSDBA' clientlib '
C:\Program Files\Firebird\bin\fbclient.dll';
create connection CustDB dbname '
localhost:c:\KundenDB.fdb' password '
masterkey'
user '
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]