Hallo Leute,
ich möchte gerne einen Ableich zwischen zwei Tabelle in zwei Datenbanken machen. Hierzu benutze ich diesen Script.
Nun sind jedoch nocht zwei Fragen offen und ich hoffe es kann mir jemand hier helfen.
1.) Kann man das Script so anpassen das es funktioniert ohne das Script in einer Datei zwischenzuspeichern ?
2.) Gibt es eine Möglichkeit so ein Script zu erstellen wenn in der zweiten Tabelle der zweiten Datenbank nicht alle Felder vorhanden sind ?
Delphi-Quellcode:
execute ibeblock
returns (
TotalTime double precision = 0 comment '
Time spent (seconds)')
as
begin
StartTime = ibec_gettickcount();
create connection MasterDB dbname '
localhost:D:\Database\Master.GDB'
password '
masterkey' user '
SYSDBA'
clientlib '
C:\FBDLL\fbclient.dll';
create connection SubscriberDB dbname '
192.168.11.109:Slave' password '
masterkey' user '
SYSDBA'
sql_dialect 3
clientlib '
C:\FBDLL\fbclient.dll';
cbb = '
execute ibeblock (
RecsProcessed variant)
as
begin
if (ibec_mod(RecsProcessed, 100) = 0) then
ibec_progress(Records compared: || RecsProcessed);
end';
ibec_CompareTables(MasterDB, SubscriberDB, '
ATNR', '
ATNR',
'
C:\CompRes.sql','
OmitUpdates', cbb);
ibec_CompareTables(MasterDB, SubscriberDB, '
ATNR', '
ATNR',
'
C:\CompRes.sql','
AppendMode; OmitDeletes; OmitInserts; UpdateAllColumns', cbb);
ibec_ExecSQLScript(SzbscriblerDB, '
C:\CompRes.sql', '
ServerVersion=FB25', null);
close connection MasterDB;
close connection SubscriberDB;
EndTime = ibec_gettickcount();
TotalTime = (EndTime - StartTime) / 1000;
suspend;
end