Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   crear usuarios firebird desde delphi (https://www.clubdelphi.com/foros/showthread.php?t=86021)

anubis 06-06-2014 20:43:05

crear usuarios firebird desde delphi
 
Hola amigos,

Estaba viendo información al respecto, pero poco he encontrado que me ilumine.

Ya vi que permisos si los puedo asignar a usuarios desde codigo delphi, pero me intersaba saber si puedo crear usuarios desde aplicación delphi.

Tambien he visto que algunos no recomiendan crear en la base de datos una tabla para usuarios (imagino que por las contraseñas).

La otra forma que estoy viendo es en la que se basa la pregunta.

Si esta claro que para entrar la primera vez tendria que ser con el usuario sysdba.

He intentado asignar a un query la tabla rdb$user_privileges, pero al intentar sacarla con un dbgrid, se me cuelga y se cierra lazarus.

Debo de decir que la base de datos esta en un servidor aparte.

Gracias

ecfisa 07-06-2014 01:47:50

Hola anubis.

Revisa si este enlace te ayuda sobre como crear usuarios y roles: GRANT desde Delphi

Saludos :)

anubis 07-06-2014 02:21:13

Gracias ecfisa, ya lo habia visto ;).
Voy a ver si saco algo en claro de ahi para usarlo en un dbgrid.

Entiendo que en este caso se puede usar cualquier query.

que por cierto uso las librerias zeos.

anubis 07-06-2014 03:21:23

Hola,

El de crear rol si funciona, el que no funciona es:

Código SQL [-]
with datamodule1.ZQuery1 do
 begin
  close;
  sql.Clear;
  sql.add('create user pepito password ''12345678''');
  SQL.Add('FIRSTNAME ''JOSE'' MIDDLENAME ''APOLONIO'' LASTNAME ''PEREZ''');
  execsql;
  end;

duilioisola 07-06-2014 10:39:40

Según Firebird esto solo lo pueden hacer usuarios que tengan el rol de administrador.

Deberías generar una conexión como SYSDBA y crear/modificar el usuario.

Este es el enlace

Cita:

Description: Firebird 2.5 and up provide SQL statements for user account management. Except in one case, they are only available to the following privileged users:


•SYSDBA;


•Any user who has been granted the RDB$ADMIN role in the security database and at least one other database. The user must specify the role when connecting to the database.


•If AUTO ADMIN MAPPING is on for the security database: any Windows administrator connected to any database using trusted authentication without specifying a role. Whether AUTO ADMIN MAPPING is on in the connection database is unimportant.


Non-privileged users can only use ALTER USER, to change their own account details.

anubis 07-06-2014 16:14:27

Gracias por responder.

En realidad si me conecto con sysdba y masterkey porque estoy en fase de desarrollo.
Estoy usando firebird 1.5 porque se va a instalar en un sistema que ya lo tiene instalado. Librerias zeos y lazarus.

gracias de nuevo

ecfisa 07-06-2014 16:30:21

Hola anubis.
Cita:

Empezado por anubis (Mensaje 477482)
...
Estoy usando firebird 1.5 porque se va a instalar en un sistema que ya lo tiene instalado.
...

A... tal vez no funcione de ese modo en esa versión. Como comenté en el enlace que te puse, los ejemplos fueron probados sobre la versión 2.5, revisa si la versión 1.5 soporta esa sintáxis (o esa acción).

Saludos :)

anubis 07-06-2014 17:00:10

Gracias lo mirare,

Si hay algo curioso que no entiendo, quiza venga por ahi la cosa.

si abro la linea de comandos de windows 7 ejecutando como administrador y le pongo:

Código:

gsec -user sysdba -password masterkey
me sale que unavailable database y unable to open database. Ya lo habia hecho antes con otras versiones superiores de firebird y no hubo nunca problema pero con esta si.
Esta muy raro no?.

Si tenia instalada antes la 2.5, luego la quite para instalar la 1.5, pense que que era por conflicto, pero borre toda huella de la 2.5.

el caso que con flamerobin no tengo ningun problema

el caso que tengo que usar firebird 1.5 porque ya esta instalada en la maquina donde voy a poner la aplicacion y no se puede cambiar

anubis 08-06-2014 00:21:28

efectivamente, con la version 1.5 y 2.1 no se pueden crear usuarios a nivel sql, con la version 2.5 si.
No entiendo muy bien como lo hace flamerobin, pero bueno.

Al respecto del gsec, en la 2.5 no hay problema desde consola, con las otras dos versiones anteriores si.

Lo unico tengo una pregunta rapida.

La maquina donde esta isntalado el firebird 1.5, no hace de servidor de nada, sino que hay un programa que accede a otro servidor que si tiene la 1.5, si puedo quitar la 1.5 y ponerle la 2.5 y podra seguir accediendo la aplicacion al servidor que si tiene la 1.5 sin ningun problema aunque en local este la 2.5?.

gracias

Casimiro Notevi 08-06-2014 00:27:01

No es conveniente, aunque pueda funcionar. En todos debe estar la misma versión.

anubis 08-06-2014 02:23:48

gracias.
el local 2.5 la app accede al servidor con 1.5.
normalmente no tendría q haber en local ninguno solo la librería para acceder


La franja horaria es GMT +2. Ahora son las 00:45:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi