Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Crear usuario que tenga permiso a procedimiento

Estas en el tema de Crear usuario que tenga permiso a procedimiento en el foro de Oracle en Foros del Web. Buenas tardes.Soy nuevo en Oracle (10g express) tengo un problema me han pedido crear un usuario que solo tenga permiso de acceder a un procedimiento ...
  #1 (permalink)  
Antiguo 26/05/2011, 14:01
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 1 mes
Puntos: 0
Crear usuario que tenga permiso a procedimiento

Buenas tardes.Soy nuevo en Oracle (10g express) tengo un problema me han pedido crear un usuario que solo tenga permiso de acceder a un procedimiento almacenado.Es decir solo puede ejecutar un procedimiento almacenado que lo que hace es retornar un select.

Pero en oracle no se me ocurre como hacerlo.Tendria que crear el usuario desde system o desde el esquema de la base de datos.Me confunde los temas de roles y demas.
  #2 (permalink)  
Antiguo 26/05/2011, 14:40
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Crear usuario que tenga permiso a procedimiento

Creo que es así:

Código SQL:
Ver original
  1. GRANT EXECUTE ON tu_procedimiento TO tu_usuario;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 26/05/2011, 14:45
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Crear usuario que tenga permiso a procedimiento

Gracias por contestar.Si efectivamente hice eso.Ahora cuando entro via toad con el user y pass creado no puedo visualizar el procedimiento para poder editarlo a hacerle cambio

Código PHP:
grant create session to user_prueba 
le di sesion pero aun asi no puedo visualizar el procedimiento al cual tiene acceso ojo este procedimiento si existe en otro esquema llamado Cnac esa es la base de datos
  #4 (permalink)  
Antiguo 26/05/2011, 14:55
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Crear usuario que tenga permiso a procedimiento

Esa sentencia como que usuario se la diste?

Según entiendo el procedimiento fue creado por el usuario Cnac. Desde ese mismo usuario debes darle esa sentencia.

Recuerda que para acceder a el, debes antepoder el nombre del usuario.
EXECUTE Cnac.nombre_procedimiento();
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 26/05/2011, 15:03
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Crear usuario que tenga permiso a procedimiento

Bueno lo cree desde el usuario system del oracle
  #6 (permalink)  
Antiguo 26/05/2011, 15:12
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Crear usuario que tenga permiso a procedimiento

ejecute el siguiente script para eso entre al esquema cnac(eaquema que tiene toda la estructura funciones store etc)

Código SQL:
Ver original
  1. CREATE USER PRUEBA2 IDENTIFIED BY "123";
  2.  
  3. CREATE ROLE CONSULTA2;
  4.  
  5. GRANT EXECUTE ON CNSAC.SP_PROCEDIMIENTO TO CONSULTA2;
  6.  
  7. GRANT CREATE SESSION TO CONSULTA2;
  8.  
  9. GRANT CONSULTA2 TO PRUEBA2;

pero cuando entro via toad con el usuario prueba2 no visualizo el store al cual tengo acceso
  #7 (permalink)  
Antiguo 26/05/2011, 15:13
 
Fecha de Ingreso: febrero-2008
Mensajes: 29
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Crear usuario que tenga permiso a procedimiento

correxion es asi el script:

Código SQL:
Ver original
  1. CREATE USER PRUEBA2 IDENTIFIED BY "123";
  2.  
  3. CREATE ROLE CONSULTA2;
  4.  
  5. GRANT EXECUTE ON CNAC.SP_PROCEDIMIENTO TO CONSULTA2;
  6.  
  7. GRANT CREATE SESSION TO CONSULTA2;
  8.  
  9. GRANT CONSULTA2 TO PRUEBA2;

Etiquetas: permiso, procedimiento, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:38.