Incluindo novo usuário no firebird

Delphi

25/02/2006

Estou tentando incluir um usuário na tabela padrão de usuários do Firebird usando um IBSecurityService (IBX) com o código abaixo:
        with ibUser do
        begin
          active := true;
          UserName := tbUsuUsuario.value;
          Password := tbUsuSenha.value;
          AddUser;
          active := false;
        end;

sendo tbUsuario uma outra tabela em meu banco de dados, e ibUser o IBSecutiryService.

Porém no comando AddUser recebo a seguinte mensagem de erro: ´start Parameters missing or incorrect´

Estou com as propriedade Params=´user_name=sysdba password=masterkey´, Loginprompt=false, Protocol=Local, quando altero o Active para true/false em modo de design, não dá nenhum erro.

Alguem sabe onde está o erro ou tem alguma outra sugestão para incluir/excluir usuários do firebird dentro da aplicação?


Aerreira

Aerreira

Curtidas 0

Respostas

Bico

Bico

25/02/2006

Boa tarde.

Eu uso da seguinte forma:

Parâmetros:

user_name=SYSDBA
password=sql


E a rotina para inserir assim:

procedure TForm1.AdicionarUsuario(Nome, Nome1, Nome2, Nome3, Pswd: string);
begin
IBSecurityService1.Active := true;
try
IBSecurityService1.UserName := Nome;
IBSecurityService1.FirstName := Nome1;
IBSecurityService1.MiddleName := Nome2;
IBSecurityService1.LastName := Nome3;
IBSecurityService1.Password := Pswd;
IBSecurityService1.AddUser;
finally
IBSecurityService1.Active := false;
end;
end;

Atenciosamente,
Fernando.


GOSTEI 0
Aerreira

Aerreira

25/02/2006

Obrigado pela ajuda [b:e71a81be99]Bico[/b:e71a81be99], mas não funcionou, separei o código numa procedure à parte para passar usuário e senha como parâmtro e o resultdado foi o mesmo.

Porém fazendo uns testes acabei descobrindo que eu estava atribuindo ao Username o conteúdo de um campo que era CHAR(10) e não VARCHAR(10), com isso haviam espaços em branco no final do campo que pelo visto não são aceitos pelo ibSecutiryService. Resolvi colocando um ´trim´ nos campos usuário e senha.

Porém surgiu outra dúvida:

- Se eu abro o IBExpert, clico em Tools/UserManager, ele pede usuário e senha, e aparece corretamente o usuário recém incluido pela minha aplicação (já corrigida).

- Se eu abro meu banco de dados no IBExpert e depois vou no UserManager, o usuário recem criado não aparece na lista de usuários... Porque?


GOSTEI 0
Aerreira

Aerreira

25/02/2006

Agora que o carnaval já passou, será que alguém poderia ajudar no problema citado acima:

- Se eu abro o IBExpert, clico em Tools/UserManager, ele pede usuário e senha, e aparece corretamente o usuário recém incluido pela minha aplicação (já corrigida). - Se eu abro meu banco de dados no IBExpert e depois vou no UserManager, o usuário recem criado não aparece na lista de usuários... Porque?



GOSTEI 0
Aerreira

Aerreira

25/02/2006

Galera... será que ninguem tem alguma dica sobre como usar o IBservices para adicionar novos usuários no Firebird, conforme mensagens acima?


GOSTEI 0
POSTAR