Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IBToGo and IBSecurityService with EIBInterBase Error Message: "feature is not supported"

46 views
Skip to first unread message

Marcelo Colonna Rosman

unread,
May 5, 2020, 9:45:38 AM5/5/20
to
Hi,

I am trying to change the SYSDBA masterkey password to a new one.
I am using IBSecurityService.

The database file has EUA activated and is encrypted.

I am using InterBase ToGo 2020 (ibtogo.dll) licensed.

The connection to the database is working fine.

The problem occurs only when I try to activate the IBSecuritySevice at run-time.

I have set the following properties of
IBSecurityService component at design-time:
-------------------------------------------
LoginPrompt = False
Protocol = Local
ServerName = ''
ServerType = 'IBEmbedded'
SystemUserName = 'SYSDBA'
UserDatabase = 'C:\Data\DBFile.ib'
UserName = 'SYSDBA'
Password = 'NewPassword'
Params:
user-Name=SYSDBA
password=masterkey
-------------------------------------------
When I set the Active property to True the IBSecurityService component is activated and no error message appears.

But when I set the same properties at run-time and then set the Active property of IBSecurityService to True I get the following EIBInterBaseError message: 'feature is not supported'.

Here is the code I am using to modify the SYSDBA masterkey password to a new one:

SEPassword is the "System Encryption Password".
The Database is encrypted .

procedure ModifySYSDBAPassword(OldPassWord, NewPassword, SEPassword, UserDatabase : String);
var
ibSecServ : TIBSecurityService;
begin
ibSecServ := TIBSecurityService.Create(nil);
try
ibSecServ.LoginPrompt := False;
ibSecServ.Params.Clear;
ibSecServ.Params.Add('user_name=SYSDBA');
ibSecServ.Params.Add('password=' + OldPassword);
ibSecServ.Params.Add('sys_encrypt_password=' + SEPassword);
ibSecServ.ServerType := cIBEmbedded;

ibSecServ.SecurityAction := ActionModifyUser;

ibSecServ.UserDatabase := UserDatabase;
ibSecServ.ServerName := EmptyStr;
ibSecServ.Protocol := Local;
ibSecServ.UserName := 'SYSDBA';
ibSecServ.Password := NewPassword;
ibSecServ.SystemUserName := 'SYSDBA';

ibSecServ.Active := True; // Here I get the error message:
// 'feature is not supported'
ibSecServ.ModifyUser;

finally
ibSecServ.Active := False;

if (ibSecServ <> nil) then
ibSecServ.Free;
end;
end;

Can anyone hep me?

If anyone could give me another solution to change the SYSDBA password it would be appreciated too.

Thank you very much.




0 new messages