Performing a daily backup of the IBExpert User Database
The following example demonstrates the usage of ibec_reg_xxx functions to perform a daily backup of the IBExpert User Database:
execute ibeblock
as
begin
CurrentDate = ibec_Date();
reg = ibec_reg_Open(__HKEY_CURRENT_USER, 0);
try
if (ibec_reg_OpenKey(reg, 'Software\HK Software\IBExpert\CurrentData', FALSE)) then
begin
try
UDBLastBackupDate = ibec_reg_ReadDate(reg, 'UDBLastBackupDate');
if (UDBLastBackupDate = CurrentDate) then
Exit;
except
end;
UDBConnectString = ibec_reg_ReadString(reg, 'UDBConnectString');
UDBClientLib = ibec_reg_ReadString(reg, 'UDBClientLib');
UDBUserName = ibec_reg_ReadString(reg, 'UDBUserName');
UDBPassword = ibec_reg_ReadString(reg, 'UDBPassword');
end
finally
ibec_reg_Close(reg);
end;
if ((UDBConnectString is null) or (UDBConnectString = ´´)) then
Exit;
ibec_Progress('Starting backup of IBExpert User Database...');
BackupDir = 'D:\Backups\IBExpert User Database\';
ibec_ForceDirectories(BackupDir);
ibec_DecodeDate(CurrentDate, iYear, iMonth, iDay);
BackupFileName = BackupDir || iDay || '-' || iMonth || '-' || iYear || '.fbk';
res = ibec_BackupDatabase(UDBConnectString, BackupFileName,
'ClientLib=' || UDBClientLib || '; Password=' ||
UDBPassword || '; User=' || UDBUserName,
null);
if (ibec_FileExists(BackupFileName)) then
begin
ibec_Progress('Compressing ' || BackupFileName || '...');
res = ibec_Exec('"C:\Program Files\WinRAR\rar.exe" a "' || BackupFileName || '.rar" "' ||
BackupFileName || '" -m5 -ri1', ´´, null);
if (res = 0) then
ibec_DeleteFile(BackupFileName);
end
if (res = 0) then
begin
reg = ibec_reg_Open(__HKEY_CURRENT_USER, 0);
try
if (ibec_reg_OpenKey(reg, 'Software\HK Software\IBExpert\CurrentData', FALSE)) then
ibec_reg_WriteDate(reg, 'UDBLastBackupDate', CurrentDate);
finally
ibec_reg_Close(reg);
end;
end
end
See also:
IBExpert User Database
back to top of page
<< RunMe.ibeblock | IBEBlock | Disable and enable IBExpert features >>







