This example shows how to synchronize a FireBird database tables via FireDAC.
procedure TForm2.btnCompareClick(Sender: TObject);
begin
memResult.Lines.Clear;
TableDataComparer1.TableNameMaster := edtTableNameM.Text;
TableDataComparer1.TableNameTarget := edtTableNameT.Text;
DBCConnectionM.Connected := True;
DBCConnectionT.Connected := True;
try
if TableDataComparer1.CompareData() then
begin
memResult.Lines.BeginUpdate();
IBSQLExec1.GetScript(memResult.Lines);
memResult.Lines.EndUpdate();
end;
finally
DBCConnectionT.Connected := False;
DBCConnectionM.Connected := False;
end;
memLog.Lines.Add('<Compare Finished>');
end;
procedure TForm2.btnUpdateClick(Sender: TObject);
begin
TableDataComparer1.SQLExec.ExecuteScript();
end;
procedure TForm2.DBCConnectionMBeforeConnect(Sender: TObject);
begin
FDPhysFBDriverLink1.VendorLib := edtClientLibrary.Text;
FDConnection1.Params.Clear();
FDConnection1.DriverName := 'FB';
FDConnection1.Params.Add('Database=' + edtMasterDbName.Text);
FDConnection1.Params.Add('TableNameM=' + edtTableNameM.Text);
FDConnection1.Params.Add('User_Name=' + edtMasterUser.Text);
FDConnection1.Params.Add('Password=' + edtMasterPassword.Text);
IBSQLExec1.IBServerOptions.SQLServerVersion :=
TIBSQLServerVersionType(cbSqlServerVersion.Items.Objects[cbSqlServerVersion.ItemIndex]);
end;
procedure TForm2.DBCConnectionTBeforeConnect(Sender: TObject);
begin
FDPhysFBDriverLink1.VendorLib := edtClientLibrary.Text;
FDConnection2.Params.Clear();
FDConnection2.DriverName := 'FB';
FDConnection2.Params.Add('Database=' + edtTargetDbName.Text);
FDConnection2.Params.Add('TableNameT=' + edtTableNameT.Text);
FDConnection2.Params.Add('User_Name=' + edtTargetUser.Text);
FDConnection2.Params.Add('Password=' + edtTargetPassword.Text);
IBSQLExec1.IBServerOptions.SQLServerVersion :=
TIBSQLServerVersionType(cbSqlServerVersion.Items.Objects[cbSqlServerVersion.ItemIndex]);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
cbSqlServerVersion.Items.Clear();
cbSqlServerVersion.Items.AddObject('Firebird 1.5', TObject(st_FireBird_15));
cbSqlServerVersion.Items.AddObject('Firebird 2.0', TObject(st_FireBird_20));
cbSqlServerVersion.Items.AddObject('Firebird 2.1', TObject(st_FireBird_21));
cbSqlServerVersion.Items.AddObject('Firebird 2.5', TObject(st_FireBird_25));
cbSqlServerVersion.Items.AddObject('Firebird 3.0', TObject(st_FireBird_30));
cbSqlServerVersion.ItemIndex := cbSqlServerVersion.Items.Count - 1;
end;
Article ID: 153, Created: March 9, 2020 at 5:19 PM, Modified: March 9, 2020 at 5:19 PM