22 |
|
interface |
23 |
|
|
24 |
|
uses |
25 |
< |
Classes, SysUtils, FileUtil, SynEdit, SynHighlighterSQL, |
26 |
< |
SynGutterCodeFolding, Forms, Controls, Graphics, Dialogs, Menus, ComCtrls, |
27 |
< |
ActnList, StdCtrls, DbCtrls, ExtCtrls, Buttons, db, IBLookupComboEditBox, |
28 |
< |
IBDynamicGrid, IBTreeView, IBDatabaseInfo, IBXServices, IBExtract, IB; |
25 |
> |
Classes, SysUtils, FileUtil, SynEdit, SynHighlighterSQL, SynGutterCodeFolding, |
26 |
> |
Forms, Controls, Graphics, Dialogs, Menus, ComCtrls, ActnList, StdCtrls, |
27 |
> |
DbCtrls, ExtCtrls, Buttons, db, IBLookupComboEditBox, IBDynamicGrid, |
28 |
> |
IBTreeView, IBDatabaseInfo, IBXServices, IBExtract, IB; |
29 |
|
|
30 |
|
type |
31 |
|
|
35 |
|
AccessRightsPopup: TPopupMenu; |
36 |
|
AccessRightsSource: TDataSource; |
37 |
|
ClientLibrary: TLabel; |
38 |
+ |
ConfigDataGrid: TIBDynamicGrid; |
39 |
+ |
ConfigDataLabel: TLabel; |
40 |
+ |
ConfigDataSource: TDataSource; |
41 |
+ |
Edit12: TEdit; |
42 |
+ |
Edit2: TEdit; |
43 |
+ |
Edit3: TEdit; |
44 |
+ |
Edit4: TEdit; |
45 |
+ |
Edit5: TEdit; |
46 |
+ |
Edit6: TEdit; |
47 |
+ |
Edit7: TEdit; |
48 |
+ |
Edit8: TEdit; |
49 |
+ |
Edit9: TEdit; |
50 |
|
Label44: TLabel; |
51 |
|
ClientServerVersion: TMemo; |
52 |
+ |
Label45: TLabel; |
53 |
+ |
Label46: TLabel; |
54 |
+ |
Label47: TLabel; |
55 |
+ |
Label48: TLabel; |
56 |
+ |
Label49: TLabel; |
57 |
+ |
Label50: TLabel; |
58 |
+ |
Label51: TLabel; |
59 |
+ |
Label52: TLabel; |
60 |
+ |
Label53: TLabel; |
61 |
+ |
Label54: TLabel; |
62 |
+ |
OpenDatabasesList: TMemo; |
63 |
|
MenuItem20: TMenuItem; |
64 |
|
MenuItem21: TMenuItem; |
65 |
+ |
Panel10: TPanel; |
66 |
|
RunScript: TAction; |
67 |
|
AutoAdmin: TCheckBox; |
68 |
|
DatabaseAliasName: TEdit; |
171 |
|
DatabaseOnline: TCheckBox; |
172 |
|
DBCharacterSet: TIBLookupComboEditBox; |
173 |
|
DBCharSetRO: TDBEdit; |
174 |
< |
DBEdit1: TDBEdit; |
174 |
> |
DateDbCreated: TDBEdit; |
175 |
|
DBEdit4: TDBEdit; |
176 |
|
DBIsReadOnly: TCheckBox; |
177 |
|
DBText1: TDBText; |
190 |
|
IBDynamicGrid2: TIBDynamicGrid; |
191 |
|
AttmtTimer: TTimer; |
192 |
|
UserManagerGrid: TIBDynamicGrid; |
193 |
< |
IBDynamicGrid4: TIBDynamicGrid; |
193 |
> |
RolesGrid: TIBDynamicGrid; |
194 |
|
TagsGrid: TIBDynamicGrid; |
195 |
|
IsShadowChk: TCheckBox; |
196 |
|
Label1: TLabel; |
208 |
|
Label20: TLabel; |
209 |
|
Label21: TLabel; |
210 |
|
Label22: TLabel; |
211 |
< |
Label23: TLabel; |
211 |
> |
DateDBCreatedLabel: TLabel; |
212 |
|
Label24: TLabel; |
213 |
|
Label25: TLabel; |
214 |
|
Label26: TLabel; |
237 |
|
Panel3: TPanel; |
238 |
|
Panel4: TPanel; |
239 |
|
Panel5: TPanel; |
240 |
< |
Panel6: TPanel; |
240 |
> |
RolesHeaderPanel: TPanel; |
241 |
|
TagsHeader: TPanel; |
242 |
|
PrimaryDBFile: TEdit; |
243 |
|
Properties: TTabSheet; |
248 |
|
SaveDialog: TSaveDialog; |
249 |
|
SchemaTab: TTabSheet; |
250 |
|
ServerLog: TMemo; |
227 |
– |
ServerPropMemo: TMemo; |
251 |
|
ServerTab: TTabSheet; |
252 |
|
Splitter1: TSplitter; |
253 |
|
Splitter2: TSplitter; |
378 |
|
FLoading: boolean; |
379 |
|
FLastStatsIndex: integer; |
380 |
|
FServerError: boolean; |
381 |
< |
procedure HandleDBConnect(Sender: TObject); |
382 |
< |
procedure HandleLoadData(Sender: TObject); |
360 |
< |
procedure LoadData; |
381 |
> |
procedure DoDBOpen(Data: PtrInt); |
382 |
> |
procedure LoadServerData; |
383 |
|
procedure DoExtract(Data: PtrInt); |
362 |
– |
procedure ConfigureForServerVersion; |
384 |
|
procedure ConfigureOnlineValidation; |
385 |
+ |
protected |
386 |
+ |
procedure HandleDBConnect(Sender: TObject); |
387 |
+ |
procedure HandleLoadData(Sender: TObject); |
388 |
+ |
procedure ConfigureForServerVersion; virtual; |
389 |
+ |
procedure ConnectToDatabase; virtual; |
390 |
+ |
procedure LoadData; virtual; |
391 |
|
public |
392 |
|
end; |
393 |
|
|
406 |
|
procedure TMainForm.FormShow(Sender: TObject); |
407 |
|
begin |
408 |
|
{Set IB Exceptions to only show text message - omit SQLCode and Engine Code} |
409 |
< |
DatabaseData.IBDatabase1.FirebirdAPI.GetStatus.SetIBDataBaseErrorMessages([ShowIBMessage]); |
409 |
> |
DBDataModule.IBDatabase1.FirebirdAPI.GetStatus.SetIBDataBaseErrorMessages([ShowIBMessage]); |
410 |
|
Application.ExceptionDialog := aedOkMessageBox; |
411 |
|
PageControl1.ActivePage := Properties; |
412 |
< |
DatabaseData.AfterDBConnect := @HandleDBConnect; |
413 |
< |
DatabaseData.AfterDataReload := @HandleLoadData; |
412 |
> |
DBDataModule.AfterDBConnect := @HandleDBConnect; |
413 |
> |
DBDataModule.AfterDataReload := @HandleLoadData; |
414 |
|
AccessRightsTreeView.DataSource := nil; |
415 |
|
AccessRightsTreeView.DataSource := AccessRightsSource; |
416 |
|
SubjectAccessRightsGrid.DataSource := nil; |
417 |
|
SubjectAccessRightsGrid.DataSource := SubjectAccessRightsSource; |
418 |
< |
DatabaseData.Connect; |
419 |
< |
if not DatabaseData.IBDatabase1.Connected then Close; |
418 |
> |
PageControl1.Visible := false; |
419 |
> |
Application.QueueAsyncCall(@DoDBOpen,0); |
420 |
|
end; |
421 |
|
|
422 |
|
procedure TMainForm.IsShadowChkChange(Sender: TObject); |
423 |
|
begin |
424 |
|
if FLoading then Exit; |
425 |
< |
if not DatabaseData.IsShadowDatabase then |
425 |
> |
if not DBDataModule.IsShadowDatabase then |
426 |
|
begin |
427 |
|
MessageDlg('A Normal Database cannot be changed into a Shadow Database',mtError,[mbOK],0); |
428 |
|
FLoading := true; |
433 |
|
end; |
434 |
|
end |
435 |
|
else |
436 |
< |
DatabaseData.ActivateShadow; |
436 |
> |
DBDataModule.ActivateShadow; |
437 |
|
end; |
438 |
|
|
439 |
|
procedure TMainForm.LimboTabHide(Sender: TObject); |
450 |
|
procedure TMainForm.LingerDelayEditingDone(Sender: TObject); |
451 |
|
begin |
452 |
|
if FLoading then Exit; |
453 |
< |
DatabaseData.LingerDelay := LingerDelay.Text; |
453 |
> |
DBDataModule.LingerDelay := LingerDelay.Text; |
454 |
|
end; |
455 |
|
|
456 |
|
procedure TMainForm.NoReserveChange(Sender: TObject); |
457 |
|
begin |
458 |
|
if FLoading then Exit; |
459 |
< |
DatabaseData.NoReserve := NoReserve.Checked; |
459 |
> |
DBDataModule.NoReserve := NoReserve.Checked; |
460 |
|
end; |
461 |
|
|
462 |
|
procedure TMainForm.DBCharacterSetEditingDone(Sender: TObject); |
468 |
|
|
469 |
|
procedure TMainForm.DBCommentsEditingDone(Sender: TObject); |
470 |
|
begin |
471 |
< |
DatabaseData.Description := DBComments.Lines.Text; |
471 |
> |
DBDataModule.Description := DBComments.Lines.Text; |
472 |
|
end; |
473 |
|
|
474 |
|
procedure TMainForm.AutoAdminChange(Sender: TObject); |
475 |
|
begin |
476 |
|
if FLoading then Exit; |
477 |
|
try |
478 |
< |
DatabaseData.AutoAdmin := AutoAdmin.Checked; |
478 |
> |
DBDataModule.AutoAdmin := AutoAdmin.Checked; |
479 |
|
except on E:Exception do |
480 |
|
begin |
481 |
|
MessageDlg(E.message,mtError,[mbOK],0); |
496 |
|
Pages: boolean; |
497 |
|
begin |
498 |
|
StartAt := 0; |
499 |
< |
if DatabaseData.IsDatabaseOnline then |
499 |
> |
if DBDataModule.IsDatabaseOnline then |
500 |
|
begin |
501 |
|
MessageDlg('The database must be shutdown before adding secondary files', |
502 |
|
mtError,[mbOK],0); |
511 |
|
if FileLength <> -1 then |
512 |
|
FileLength := FileLength*1024*1024 div IBDatabaseInfo.PageSize; |
513 |
|
end; |
514 |
< |
DatabaseData.AddSecondaryFile(FileName,StartAt,FileLength); |
514 |
> |
DBDataModule.AddSecondaryFile(FileName,StartAt,FileLength); |
515 |
|
end; |
516 |
|
end; |
517 |
|
|
532 |
|
|
533 |
|
procedure TMainForm.AddShadowSetExecute(Sender: TObject); |
534 |
|
begin |
535 |
< |
DatabaseData.AddShadowSet; |
535 |
> |
DBDataModule.AddShadowSet; |
536 |
|
end; |
537 |
|
|
538 |
|
procedure TMainForm.AddTagExecute(Sender: TObject); |
562 |
|
procedure TMainForm.AddUserUpdate(Sender: TObject); |
563 |
|
begin |
564 |
|
(Sender as TAction).Enabled := (UserListSource.State = dsBrowse) and |
565 |
< |
((DatabaseData.DBUserName = 'SYSDBA') or DatabaseData.HasUserAdminPrivilege); |
565 |
> |
((DBDataModule.ServiceUserName = 'SYSDBA') or DBDataModule.HasUserAdminPrivilege); |
566 |
|
end; |
567 |
|
|
568 |
|
procedure TMainForm.ApplySelectedExecute(Sender: TObject); |
569 |
|
begin |
570 |
< |
DatabaseData.LimboResolution(NoGlobalAction,LimboReport.Lines); |
570 |
> |
DBDataModule.LimboResolution(NoGlobalAction,LimboReport.Lines); |
571 |
|
end; |
572 |
|
|
573 |
|
procedure TMainForm.AttachmentsTabHide(Sender: TObject); |
585 |
|
|
586 |
|
procedure TMainForm.AttmtTimerTimer(Sender: TObject); |
587 |
|
begin |
588 |
< |
DatabaseData.CurrentTransaction.Commit; {force a refresh} |
588 |
> |
DBDataModule.CurrentTransaction.Commit; {force a refresh} |
589 |
|
end; |
590 |
|
|
591 |
|
procedure TMainForm.BackupExecute(Sender: TObject); |
592 |
|
begin |
593 |
< |
DatabaseData.BackupDatabase; |
593 |
> |
DBDataModule.BackupDatabase; |
594 |
|
end; |
595 |
|
|
596 |
|
procedure TMainForm.ChgPasswordExecute(Sender: TObject); |
618 |
|
|
619 |
|
procedure TMainForm.Commit2PhaseExecute(Sender: TObject); |
620 |
|
begin |
621 |
< |
DatabaseData.LimboResolution(RecoverTwoPhaseGlobal,LimboReport.Lines); |
621 |
> |
DBDataModule.LimboResolution(RecoverTwoPhaseGlobal,LimboReport.Lines); |
622 |
|
end; |
623 |
|
|
624 |
|
procedure TMainForm.CommitAllExecute(Sender: TObject); |
625 |
|
begin |
626 |
< |
DatabaseData.LimboResolution(CommitGlobal,LimboReport.Lines); |
626 |
> |
DBDataModule.LimboResolution(CommitGlobal,LimboReport.Lines); |
627 |
|
end; |
628 |
|
|
629 |
|
procedure TMainForm.CommitAllUpdate(Sender: TObject); |
640 |
|
ShutDownMode := DenyTransaction; |
641 |
|
Delay := 60; |
642 |
|
if DatabaseOnline.Checked then |
643 |
< |
DatabaseData.BringDatabaseOnline |
643 |
> |
DBDataModule.BringDatabaseOnline |
644 |
|
else |
645 |
|
if ShutdownReqDlg.ShowModal(DatabaseAliasName.Text,ShutDownMode,Delay) = mrOK then |
646 |
< |
DatabaseData.Shutdown(ShutdownMode,Delay); |
646 |
> |
DBDataModule.Shutdown(ShutdownMode,Delay); |
647 |
|
end; |
648 |
|
|
649 |
|
procedure TMainForm.DBIsReadOnlyChange(Sender: TObject); |
650 |
|
begin |
651 |
|
if FLoading then Exit; |
652 |
|
try |
653 |
< |
DatabaseData.DBReadOnly := DBIsReadOnly.Checked; |
653 |
> |
DBDataModule.DBReadOnly := DBIsReadOnly.Checked; |
654 |
|
except on E:Exception do |
655 |
|
MessageDlg(E.message,mtError,[mbOK],0); |
656 |
|
end; |
659 |
|
procedure TMainForm.DBSQLDialectEditingDone(Sender: TObject); |
660 |
|
begin |
661 |
|
if FLoading then Exit; |
662 |
< |
DatabaseData.DBSQLDialect := StrToInt(DBSQLDialect.Text); |
662 |
> |
DBDataModule.DBSQLDialect := StrToInt(DBSQLDialect.Text); |
663 |
|
end; |
664 |
|
|
665 |
|
procedure TMainForm.DeleteTagExecute(Sender: TObject); |
682 |
|
procedure TMainForm.DeleteUserUpdate(Sender: TObject); |
683 |
|
begin |
684 |
|
(Sender as TAction).Enabled := UserListSource.DataSet.Active and (UserListSource.DataSet.RecordCount > 0) and |
685 |
< |
((DatabaseData.DBUserName = 'SYSDBA') or DatabaseData.HasUserAdminPrivilege); |
685 |
> |
((DBDataModule.ServiceUserName = 'SYSDBA') or DBDataModule.HasUserAdminPrivilege); |
686 |
|
end; |
687 |
|
|
688 |
|
procedure TMainForm.DisconnectAttachmentExecute(Sender: TObject); |
705 |
|
if MessageDlg(Format('Do you really want to delete the database "%s". You will lose all your data!', |
706 |
|
[IBDatabaseInfo.Database.DatabaseName]),mtConfirmation,[mbYes,mbNo],0) = mrYes then |
707 |
|
begin |
708 |
< |
DatabaseData.DropDatabase; |
709 |
< |
DatabaseData.Connect; |
708 |
> |
DBDataModule.DropDatabase; |
709 |
> |
DBDataModule.Connect; |
710 |
|
if not IBDatabaseInfo.Database.Connected then Close; |
711 |
|
end; |
712 |
|
end; |
724 |
|
if (AccessRightsTreeView.Selected = nil) or (AccessRightsTreeView.Selected.Parent = nil) then |
725 |
|
SubjectAccessRightsSource.DataSet.Active := false |
726 |
|
else |
727 |
< |
DatabaseData.SyncSubjectAccessRights(TIBTreeNode(AccessRightsTreeView.Selected).KeyValue); |
727 |
> |
DBDataModule.SyncSubjectAccessRights(TIBTreeNode(AccessRightsTreeView.Selected).KeyValue); |
728 |
|
end; |
729 |
|
end; |
730 |
|
|
731 |
|
procedure TMainForm.FormClose(Sender: TObject; var CloseAction: TCloseAction); |
732 |
|
begin |
733 |
< |
DatabaseData.Disconnect; |
733 |
> |
DBDataModule.Disconnect; |
734 |
|
end; |
735 |
|
|
736 |
|
procedure TMainForm.MappingsTabHide(Sender: TObject); |
746 |
|
|
747 |
|
procedure TMainForm.PageBuffersEditingDone(Sender: TObject); |
748 |
|
begin |
749 |
< |
DatabaseData.PageBuffers := StrToInt(PageBuffers.Text); |
749 |
> |
DBDataModule.PageBuffers := StrToInt(PageBuffers.Text); |
750 |
|
end; |
751 |
|
|
752 |
|
procedure TMainForm.QuitExecute(Sender: TObject); |
770 |
|
begin |
771 |
|
if MessageDlg('Revoke all Access Rights from User ' + Trim(AccessRightsTreeView.Selected.Text), |
772 |
|
mtConfirmation,[mbYes,mbNo],0) = mrYes then |
773 |
< |
DatabaseData.RevokeAll; |
773 |
> |
DBDataModule.RevokeAll; |
774 |
|
end; |
775 |
|
|
776 |
|
procedure TMainForm.RevokeAllUpdate(Sender: TObject); |
845 |
|
|
846 |
|
procedure TMainForm.UserManagerTabShow(Sender: TObject); |
847 |
|
begin |
848 |
< |
if not Visible or not IBDatabaseInfo.Database.Connected or DatabaseData.EmbeddedMode then Exit; |
848 |
> |
if not Visible or not IBDatabaseInfo.Database.Connected or DBDataModule.EmbeddedMode then Exit; |
849 |
|
UserListSource.DataSet.Active := true; |
850 |
|
end; |
851 |
|
|
860 |
|
procedure TMainForm.OpenDatabaseExecute(Sender: TObject); |
861 |
|
begin |
862 |
|
PageControl1.ActivePage := Properties; |
863 |
< |
DatabaseData.Connect; |
863 |
> |
DBDataModule.Connect; |
864 |
|
if not IBDatabaseInfo.Database.Connected then Close; |
865 |
|
end; |
866 |
|
|
867 |
|
procedure TMainForm.PropertiesShow(Sender: TObject); |
868 |
|
begin |
869 |
< |
if Visible and IBDatabaseInfo.Database.Connected then |
869 |
> |
if Visible and (IBDatabaseInfo.Database <> nil) and IBDatabaseInfo.Database.Connected then |
870 |
|
LoadData; |
871 |
|
end; |
872 |
|
|
874 |
|
var ShadowSet: integer; |
875 |
|
begin |
876 |
|
ShadowSet := ShadowSource.DataSet.FieldByName('RDB$Shadow_Number').AsInteger; |
877 |
< |
DatabaseData.RemoveShadowSet(ShadowSet); |
877 |
> |
DBDataModule.RemoveShadowSet(ShadowSet); |
878 |
|
end; |
879 |
|
|
880 |
|
procedure TMainForm.RemoveShadowUpdate(Sender: TObject); |
884 |
|
|
885 |
|
procedure TMainForm.RestoreExecute(Sender: TObject); |
886 |
|
begin |
887 |
< |
DatabaseData.RestoreDatabase; |
887 |
> |
DBDataModule.RestoreDatabase; |
888 |
|
end; |
889 |
|
|
890 |
|
procedure TMainForm.RollbackAllExecute(Sender: TObject); |
891 |
|
begin |
892 |
< |
DatabaseData.LimboResolution(RollbackGlobal,LimboReport.Lines); |
892 |
> |
DBDataModule.LimboResolution(RollbackGlobal,LimboReport.Lines); |
893 |
|
end; |
894 |
|
|
895 |
|
procedure TMainForm.RunRepairExecute(Sender: TObject); |
901 |
|
Options := [SweepDB]; |
902 |
|
1: {Online Validation } |
903 |
|
begin |
904 |
< |
DatabaseData.OnlineValidation(ValidationReport.Lines,SelectedTablesOnly.Checked); |
904 |
> |
DBDataModule.OnlineValidation(ValidationReport.Lines,SelectedTablesOnly.Checked); |
905 |
|
Exit; |
906 |
|
end; |
907 |
|
2: {Full Validation} |
927 |
|
Options := [KillShadows]; |
928 |
|
end; |
929 |
|
|
930 |
< |
DatabaseData.DatabaseRepair(Options,ValidationReport.Lines); |
930 |
> |
DBDataModule.DatabaseRepair(Options,ValidationReport.Lines); |
931 |
|
if (SelectRepairAction.ItemIndex = 2) and (ValidateDB in Options) then |
932 |
|
ValidateOptions.ActivePage := RepairOptionsTab |
933 |
|
else |
986 |
|
|
987 |
|
procedure TMainForm.ServerTabShow(Sender: TObject); |
988 |
|
begin |
989 |
< |
if not Visible or not IBDatabaseInfo.Database.Connected or FServerError then Exit; |
989 |
> |
if not Visible or FServerError then Exit; |
990 |
|
try |
991 |
< |
DatabaseData.LoadServerProperties(ServerPropMemo.Lines); |
992 |
< |
DatabaseData.LoadServerLog(ServerLog.Lines); |
991 |
> |
LoadServerData; |
992 |
> |
DBDataModule.LoadServerLog(ServerLog.Lines); |
993 |
|
except |
994 |
|
FServerError := true; |
968 |
– |
ServerPropMemo.Lines.Clear; |
995 |
|
ServerLog.Lines.Clear; |
996 |
|
raise; |
997 |
|
end; |
1013 |
|
begin |
1014 |
|
StatsMemo.Lines.Clear; |
1015 |
|
FLastStatsIndex := StatsOptions.ItemIndex; |
1016 |
< |
DatabaseData.LoadDatabaseStatistics(StatsOptions.ItemIndex,StatsMemo.Lines); |
1016 |
> |
DBDataModule.LoadDatabaseStatistics(StatsOptions.ItemIndex,StatsMemo.Lines); |
1017 |
|
end; |
1018 |
|
|
1019 |
|
procedure TMainForm.SweepIntervalEditingDone(Sender: TObject); |
1020 |
|
begin |
1021 |
|
if FLoading then Exit; |
1022 |
< |
DatabaseData.SweepInterval := StrtoInt(SweepInterval.Text); |
1022 |
> |
DBDataModule.SweepInterval := StrtoInt(SweepInterval.Text); |
1023 |
|
end; |
1024 |
|
|
1025 |
|
procedure TMainForm.SyncWritesChange(Sender: TObject); |
1026 |
|
begin |
1027 |
|
if FLoading then Exit; |
1028 |
< |
DatabaseData.ForcedWrites := SyncWrites.Checked; |
1028 |
> |
DBDataModule.ForcedWrites := SyncWrites.Checked; |
1029 |
|
end; |
1030 |
|
|
1031 |
|
procedure TMainForm.ToggleAutoRefreshExecute(Sender: TObject); |
1039 |
|
(Sender as TAction).Checked := AttmtTimer.Enabled; |
1040 |
|
end; |
1041 |
|
|
1042 |
+ |
procedure TMainForm.DoDBOpen(Data: PtrInt); |
1043 |
+ |
begin |
1044 |
+ |
ConnectToDatabase; |
1045 |
+ |
end; |
1046 |
+ |
|
1047 |
|
procedure TMainForm.HandleDBConnect(Sender: TObject); |
1048 |
|
begin |
1049 |
|
ConfigureForServerVersion; |
1055 |
|
|
1056 |
|
procedure TMainForm.HandleLoadData(Sender: TObject); |
1057 |
|
begin |
1058 |
< |
if DatabaseData.EmbeddedMode then |
1058 |
> |
if DBDataModule.EmbeddedMode then |
1059 |
|
StatusBar1.SimpleText := Format('Database: %s - Logged in as user %s in embedded mode', |
1060 |
< |
[DatabaseData.IBDatabase1.DatabaseName,DatabaseData.IBDatabase1.Params.Values['user_name'] |
1060 |
> |
[DBDataModule.IBDatabase1.DatabaseName,DBDataModule.IBDatabase1.Params.Values['user_name'] |
1061 |
|
]) |
1062 |
|
else |
1063 |
< |
if DatabaseData.DBUserName = 'SYSDBA' then |
1063 |
> |
if DBDataModule.DBUserName = 'SYSDBA' then |
1064 |
|
StatusBar1.SimpleText := Format('Database: %s - Logged in as user %s by %s, using %s security database.', |
1065 |
< |
[DatabaseData.IBDatabase1.DatabaseName,DatabaseData.DBUserName, |
1066 |
< |
DatabaseData.AuthMethod, DatabaseData.SecurityDatabase]) |
1065 |
> |
[DBDataModule.IBDatabase1.DatabaseName,DBDataModule.DBUserName, |
1066 |
> |
DBDataModule.AuthMethod, DBDataModule.SecurityDatabase]) |
1067 |
|
else |
1068 |
|
StatusBar1.SimpleText := Format('Database: %s - Logged in as user %s by %s, using %s security database. Role = %s', |
1069 |
< |
[DatabaseData.IBDatabase1.DatabaseName,DatabaseData.DBUserName, |
1070 |
< |
DatabaseData.AuthMethod, DatabaseData.SecurityDatabase,DatabaseData.RoleName]); |
1069 |
> |
[DBDataModule.IBDatabase1.DatabaseName,DBDataModule.DBUserName, |
1070 |
> |
DBDataModule.AuthMethod, DBDataModule.SecurityDatabase,DBDataModule.RoleName]); |
1071 |
|
if assigned(PageControl1.ActivePage.OnShow) then |
1072 |
|
PageControl1.ActivePage.OnShow(nil); |
1073 |
< |
ClientLibrary.Caption := 'Firebird Client Library: ' + DatabaseData.IBDatabase1.FirebirdAPI.GetFBLibrary.GetLibraryFilePath + |
1074 |
< |
' (API Version = ' + DatabaseData.IBDatabase1.FirebirdAPI.GetImplementationVersion + ')'; |
1073 |
> |
ClientLibrary.Caption := 'Firebird Client Library: ' + DBDataModule.IBDatabase1.FirebirdAPI.GetFBLibrary.GetLibraryFilePath + |
1074 |
> |
' (API Version = ' + DBDataModule.IBDatabase1.FirebirdAPI.GetImplementationVersion + ')'; |
1075 |
|
end; |
1076 |
|
|
1077 |
|
procedure TMainForm.LoadData; |
1079 |
|
if FLoading then Exit; |
1080 |
|
FLoading := true; |
1081 |
|
try |
1082 |
< |
DatabaseAliasName.Text := DatabaseData.DatabaseName; |
1082 |
> |
DatabaseAliasName.Text := DBDataModule.DatabaseName; |
1083 |
|
Edit1.Text := IBDatabaseInfo.DBSiteName; |
1084 |
|
ODSVersionString.Text := Format('%d.%d',[IBDatabaseInfo.ODSMajorVersion,IBDatabaseInfo.ODSMinorVersion]); |
1085 |
|
ServerVersionNo.Text := IBDatabaseInfo.Version; |
1086 |
< |
DBSQLDialect.Text := IntToStr(DatabaseData.DBSQLDialect); |
1087 |
< |
ConnectString.Text := DatabaseData.IBDatabase1.DatabaseName; |
1086 |
> |
DBSQLDialect.Text := IntToStr(DBDataModule.DBSQLDialect); |
1087 |
> |
ConnectString.Text := DBDataModule.IBDatabase1.DatabaseName; |
1088 |
|
Edit10.Text := IntToStr(IBDatabaseInfo.CurrentMemory); |
1089 |
|
Edit11.Text := IntToStr(IBDatabaseInfo.MaxMemory); |
1090 |
< |
PageBuffers.Text := IntToStr(DatabaseData.PageBuffers); |
1090 |
> |
PageBuffers.Text := IntToStr(DBDataModule.PageBuffers); |
1091 |
|
AllocatedPages.Text := IntToStr(IBDatabaseInfo.Allocation); |
1092 |
< |
DBIsReadOnly.Checked := DatabaseData.DBReadOnly; |
1093 |
< |
SyncWrites.Checked := DatabaseData.ForcedWrites; |
1092 |
> |
DBIsReadOnly.Checked := DBDataModule.DBReadOnly; |
1093 |
> |
SyncWrites.Checked := DBDataModule.ForcedWrites; |
1094 |
|
SweepInterval.Text := IntToStr(IBDatabaseInfo.SweepInterval); |
1095 |
< |
NoReserve.Checked := DatabaseData.NoReserve; |
1096 |
< |
LingerDelay.Text := DatabaseData.LingerDelay; |
1097 |
< |
SecDatabase.Text := DatabaseData.SecurityDatabase; |
1098 |
< |
DBOwner.Text := DatabaseData.DBOwner; |
1099 |
< |
DatabaseOnline.Checked := DatabaseData.IsDatabaseOnline; |
1100 |
< |
IsShadowChk.Checked := DatabaseData.IsShadowDatabase; |
1095 |
> |
NoReserve.Checked := DBDataModule.NoReserve; |
1096 |
> |
LingerDelay.Text := DBDataModule.LingerDelay; |
1097 |
> |
SecDatabase.Text := DBDataModule.SecurityDatabase; |
1098 |
> |
DBOwner.Text := DBDataModule.DBOwner; |
1099 |
> |
DatabaseOnline.Checked := DBDataModule.IsDatabaseOnline; |
1100 |
> |
IsShadowChk.Checked := DBDataModule.IsShadowDatabase; |
1101 |
|
if IBDatabaseInfo.ODSMajorVersion >= 12 then |
1102 |
|
begin |
1103 |
|
PagesUsed.Text := IntToStr(IBDatabaseInfo.PagesUsed); |
1104 |
|
PagesAvail.Text := IntToStr(IBDatabaseInfo.PagesFree); |
1105 |
< |
AutoAdmin.Checked := not DatabaseData.EmbeddedMode and DatabaseData.AutoAdmin; |
1105 |
> |
AutoAdmin.Checked := not DBDataModule.EmbeddedMode and DBDataModule.AutoAdmin; |
1106 |
|
end |
1107 |
|
else |
1108 |
|
begin |
1110 |
|
PagesAvail.Text := 'n/a'; |
1111 |
|
AutoAdmin.Checked := false; |
1112 |
|
end; |
1113 |
< |
DatabaseData.IBDatabase1.Attachment.getFBVersion(ClientServerVersion.Lines); |
1114 |
< |
DBComments.Lines.Text := DatabaseData.Description; |
1113 |
> |
DBDataModule.IBDatabase1.Attachment.getFBVersion(ClientServerVersion.Lines); |
1114 |
> |
DBComments.Lines.Text := DBDataModule.Description; |
1115 |
|
finally |
1116 |
|
FLoading := false; |
1117 |
|
end; |
1118 |
|
end; |
1119 |
|
|
1120 |
+ |
procedure TMainForm.LoadServerData; |
1121 |
+ |
var i: integer; |
1122 |
+ |
begin |
1123 |
+ |
with DBDataModule.IBServerProperties1 do |
1124 |
+ |
begin |
1125 |
+ |
Edit3.Text := VersionInfo.ServerVersion; |
1126 |
+ |
Edit2.Text := IntToStr(VersionInfo.ServiceVersion); |
1127 |
+ |
Edit4.Text := VersionInfo.ServerImplementation; |
1128 |
+ |
OpenDatabasesList.Clear; |
1129 |
+ |
for i := 0 to DatabaseInfo.NoOfDatabases - 1 do |
1130 |
+ |
OpenDatabasesList.Lines.Add(DatabaseInfo.DbName[i]); |
1131 |
+ |
ConfigDataGrid.Visible := DBDataModule.LoadConfigData(ConfigParams.ConfigFileData); |
1132 |
+ |
ConfigDataLabel.Visible := ConfigDataGrid.Visible; |
1133 |
+ |
if ConfigDataGrid.Visible then |
1134 |
+ |
begin |
1135 |
+ |
OpenDatabasesList.Height := ConfigDataLabel.Top - OpenDatabasesList.Top - 6; |
1136 |
+ |
OpenDatabasesList.Anchors := OpenDatabasesList.Anchors - [akBottom]; |
1137 |
+ |
end |
1138 |
+ |
else |
1139 |
+ |
begin |
1140 |
+ |
OpenDatabasesList.Height := ConfigDataGrid.Top - OpenDatabasesList.Top + ConfigDataGrid.Height; |
1141 |
+ |
OpenDatabasesList.Anchors := OpenDatabasesList.Anchors + [akBottom]; |
1142 |
+ |
end; |
1143 |
+ |
Edit5.Text := ConfigParams.BaseLocation; |
1144 |
+ |
Edit6.Text := ConfigParams.LockFileLocation; |
1145 |
+ |
Edit7.Text := ConfigParams.SecurityDatabaseLocation; |
1146 |
+ |
Edit9.Text := ConfigParams.MessageFileLocation; |
1147 |
+ |
Edit8.Text := ServicesConnection.ServerName; |
1148 |
+ |
Edit12.Text := IntToStr(DatabaseInfo.NoOfAttachments); |
1149 |
+ |
end; |
1150 |
+ |
end; |
1151 |
+ |
|
1152 |
|
procedure TMainForm.DoExtract(Data: PtrInt); |
1153 |
|
begin |
1154 |
|
Screen.Cursor := crHourGlass; |
1168 |
|
var i: integer; |
1169 |
|
begin |
1170 |
|
if (IBDatabaseInfo.ODSMajorVersion >= 12) and |
1171 |
< |
((DatabaseData.DBUserName = 'SYSDBA') or (DatabaseData.RoleName = 'RDB$ADMIN') or |
1172 |
< |
not DatabaseData.HasUserAdminPrivilege) then |
1171 |
> |
((DBDataModule.ServiceUserName = 'SYSDBA') or (DBDataModule.RoleName = 'RDB$ADMIN') or |
1172 |
> |
not DBDataModule.HasUserAdminPrivilege) then |
1173 |
|
begin |
1174 |
|
for i in [9,10] do |
1175 |
|
UserManagerGrid.Columns[i].Visible := false; |
1176 |
|
for i in [4,6,7,8] do |
1177 |
|
UserManagerGrid.Columns[i].Visible := true ; |
1178 |
< |
UserListSource.DataSet := DatabaseData.UserList; |
1178 |
> |
UserListSource.DataSet := DBDataModule.UserList; |
1179 |
|
TagsHeader.Visible := true; |
1180 |
|
TagsGrid.Visible := true; |
1181 |
|
end |
1185 |
|
UserManagerGrid.Columns[i].Visible := false; |
1186 |
|
for i in [9,10] do |
1187 |
|
UserManagerGrid.Columns[i].Visible := true; |
1188 |
< |
UserListSource.DataSet := DatabaseData.LegacyUserList; |
1188 |
> |
UserListSource.DataSet := DBDataModule.LegacyUserList; |
1189 |
|
TagsHeader.Visible := false; |
1190 |
|
TagsGrid.Visible := false; |
1191 |
|
end; |
1204 |
|
DBCharacterSet.Visible := false; |
1205 |
|
DBCharSetRO.Visible := true; |
1206 |
|
end; |
1207 |
< |
MappingsTab.TabVisible := not DatabaseData.EmbeddedMode and |
1207 |
> |
MappingsTab.TabVisible := not DBDataModule.EmbeddedMode and |
1208 |
|
((IBDatabaseInfo.ODSMajorVersion > 11) or |
1209 |
|
((IBDatabaseInfo.ODSMajorVersion = 11) and (IBDatabaseInfo.ODSMinorVersion > 0))); |
1210 |
< |
UserManagerTab.TabVisible := not DatabaseData.EmbeddedMode; |
1211 |
< |
AccessRightsTab.TabVisible := not DatabaseData.EmbeddedMode; |
1212 |
< |
AutoAdmin.Enabled := not DatabaseData.EmbeddedMode; |
1210 |
> |
UserManagerTab.TabVisible := not DBDataModule.EmbeddedMode; |
1211 |
> |
AccessRightsTab.TabVisible := not DBDataModule.EmbeddedMode; |
1212 |
> |
AutoAdmin.Enabled := not DBDataModule.EmbeddedMode; |
1213 |
> |
end; |
1214 |
> |
|
1215 |
> |
procedure TMainForm.ConnectToDatabase; |
1216 |
> |
begin |
1217 |
> |
if not DBDataModule.Connect then Close; |
1218 |
> |
PageControl1.Visible := true; |
1219 |
|
end; |
1220 |
|
|
1221 |
|
procedure TMainForm.ConfigureOnlineValidation; |