Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Uso Roles En Firebird
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Uso Roles En Firebird 
 
Espero y tengan buen día, estoy iniciando en gambas y me  encontré con un detalle, necesito usar los roles de firebird, ya que las aplicaciones que estoy haciendo son para accesar al sistema microsip con BD firebird.
estoy tratando de cambiar de plataforma abandonando win7 y abrazando linux. el problema es el siguiente.
al usar connection no trae la propiedad role,actualmente si conecto a la base de datos puedo hacer cualquier cosa usando la cuenta sysdba, pero los usuarios del sistema no pueden ya que se deben de conectar con un role.
alguien que se haya conectado o sepa como conectarse usando role en firebird. estoy usuando gambas 2 aunque estoy dispuesto a cambiar a gambas3 solucionando este detalle

gracias por sus respuestas
 



 
laguneromex - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uso Roles En Firebird 
 
Nunca he usado Firebird pero... ¿no basta con cambiar el usuario y la password? No creo que un usuario tenga que validarse como sysbd y luego hacer nada para cambiar de rol. La asignación de roles debería ser algo interno del motor de base de datos una vez que el usuario se identifica ¿no?....
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uso Roles En Firebird 
 
Yo tampoco he usado nunca Firebird, pero tras una lectura rápida de lo siguiente:

http://www.firebirdsql.org/file/doc...start-usrsroles

puedo ver que ROLE es muy similar a los privilegios de un usuario de MYSQL, por ejemplo. Es decir, usando la sintaxis SQL, puedes establecer ROLES (o privilegios de usuarios o grupos de usuarios) pero después, cada usuario debe conectarse a la bd con sus propias credenciales, usuario y password. Los roles sólo los puede establecer el sysdba, o un usuario con suficientes privilegios. Al menos es lo que entiendo yo después de haber ojeado la documentación...

Por lo tanto, bajo mi punto de vista, lo más indicado sería crear un procedimiento de conexión a la base de datos, mediante el cual se utilicen los datos del usuario que previamente éste habría introducido en un formulario.

Aunque supongo que todo esto se puede realizar en gambas2 sin muchos problemas (no hacen falta propiedades ni métodos específicos, ya que una vez conectado, se puede usar sintaxis SQL para todo), mi recomendación es que actualices a gambas3, ya que el primero está obsoleto y no recibe actualizaciones, además de que ya no se incluye en distribuciones Linux modernas. Busca información en el buscador del foro para instalar gambas3 desde los repositorios de "nemh" (siempre que uses Ubuntu o derivados).

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uso Roles En Firebird 
 
gracias por responder
un error común en firebird es suponer que al conectarme con usuario y password toma el rol asignado pero,
para que la conexión tome el rol debo de indicarlo por lo que en PHP usas esta conexión
ibase_connect ($database , $username , $password ,$role)
debe de indicar que rol usa en la conexión, esto da una flexibilidad al momento de conectarse, y puede adquirir cualquier rol asignado.

así que para poder conectarme a la base de datos necesito indicar el rol a usar en caso contrario dar permisos a cada usuario

agradezco sus respuestas y ojala puedan ayudarme

señalo texto
referencia de firebird error comun

Assuming a Role

Common Mistake The most common misconception regarding roles is that when a role has been granted to a user, that user will immediately have all the privileges that the role has been granted. This is incorrect. For a user to acquire the privileges that have been granted to a role, the user must specify the role when connecting to the database. If a user does not specify the role when connecting, that user will have none of the privileges that have been granted to the role.
Here is an example of the user BJONES connecting to a database and assuming the role FULL_ACCESS. In this example the user is using ISQL, InterBase's interactive SQL processing utility.

connect tempemployee.gdb user bjones password bjones role full_access;
Database: tempemployee.gdb, User: bjones, Role: full_access
 



 
laguneromex - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uso Roles En Firebird 
 
Ya instale gambas3 pero segun lei ya no se incluye gambas-gb-db-firebird. aun no aprendo a usar una conexion por odbc asi que tendria que volver a retomar el tema de aprendizaje para inciar nuevamente el desarrollo y me queda poco tiempo.  

Saludos
 



 
laguneromex - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uso Roles En Firebird 
 
Ya resolvi el problema, actualmente estoy con gambas3

estuve leyendo la informacion refrente al component gb-db-firebird ( ya no disponible en gambas3) y como es a traves de una conexion no es posible usar el rol de usuario

asi que me di a la tarea de buscar como usar el odbc y es el siguiente

para instalar y configurar el ODBC en ubuntu 12.04 use este enlace
https://help.ubuntu.com/community/ODBC

solo una correccion al hacer el enlace simbolico

ln -s /usr/lib/x86_64-linux-gnu/libfbclient.so.2 /usr/lib/libgds.so

en el archivo /etc/odbcinst.ini dejarlo tal y como dice el link

y en el archivo odbc.ini es donde se hace la configuracion

[fbconn]
Description = Firebird
Driver = Firebird
Dbname = localhost:ACEROS
User = SYSDBA
Password = xxxxx
Role = USUARIO_MICROSIP
CharacterSet =
ReadOnly = No
NoWait = No

en mi caso use el nombre  fbconn  del ODBC y en el parametro role USUARIO_MICROSIP

la conexion quedo de la siguiente manera en el programa noten que el nombre de del ODBC va en el parametro Host

     $fbconnect.Close() ' Close the connection
     $fbconnect.Type = "ODBC" ' Tipo de conexión
     $fbconnect.Host = "Fbconn" ' Nombre de ODBC
     $fbconnect.Login = usuario.text ' nombre de usuario
     $fbconnect.Port = "3050" ' puerto de la conexión
     $fbconnect.Name = Variables.cfgbdatos ' Nombre de la base de datos
     $fbconnect.Password = contrasena.text ' Contraseña
     Try $fbconnect.Open()

espero y le sirva a alguien esta solución

y a aquellos que contestaron gracias por su tiempo
 



 
laguneromex - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes [Biblioteca] Firebird en Gambas a través ... angelnu Bases de Datos 4 Lunes, 16 Noviembre 2009, 21:18 Ver último mensaje
Bretema
No hay nuevos mensajes Firebird Classic Superclassic Superserve... codificador Bases de Datos 0 Sabado, 10 Agosto 2013, 20:44 Ver último mensaje
codificador
No hay nuevos mensajes PostgreSQL Roles Asignados A Una Base De D... tincho Bases de Datos 3 Viernes, 21 Abril 2017, 21:41 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron