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

Privilegio para procedimientos almacenados

Estas en el tema de Privilegio para procedimientos almacenados en el foro de Oracle en Foros del Web. Saludos a [email protected] Tenia la duda si este tema quedaria mejor aqui o en PHP, al final me decidi por este foro. La cuestion es ...
  #1 (permalink)  
Antiguo 27/12/2009, 22:15
 
Fecha de Ingreso: noviembre-2009
Mensajes: 9
Antigüedad: 10 años, 11 meses
Puntos: 0
Privilegio para procedimientos almacenados

Saludos a [email protected]
Tenia la duda si este tema quedaria mejor aqui o en PHP, al final me decidi por este foro.

La cuestion es que tengo un procedimiento almacenado que lo quiero correr con adodb de php, tengo un rol creado para establecerle todos los grant, por lo cual queria saber 2 cosas:

1. ¿Cual es el privilegio que le tendria que asignar para ejecutar los procedimientos que tengo enpaquetados?

2. ¿Existen sinonimos o algo parecido para los procedimientos? ya que ahora al hacer el llamado tengo que ponerle TABLESPACE.PAQUETE.PROCEDIMIENTO.

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 28/12/2009, 15:11
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 13 años, 4 meses
Puntos: 43
Respuesta: Privilegio para procedimientos almacenados

No te explicas muy bien.
Si por procedimiento hablas de un " PROCEDURE " y al hablar que tienes empaquetados te refieres a que los tienes en un " PACKAGE " y ese procedure del package lo va a aejecutar otro que no sea su propietario ( me estoy liando ) lo que tienes que hacer es dar un simple GRANT de EXECUTE sobre el PACKAGE ( NO SOBRE EL PROCEDURE DEL PACKAGE ) al usuario que lo va a ejcutar :

GRANT EXECUTE ON << NOMBRE_DEL_PACKAGE >> TO << USUARIO QUE LO VA A EJECUTAR >>

Y para no poner el usuario ( NO TABLESPACE ) por delante cada vez que lo llames, create un sinonimo privado.

Digamos que el propietario del package se llama USER_PROPIETARIO y el que lo va a ejecutar es USER_EJECUTOR.

Tendrías que hacer esto desde el por ejemplo el SQL PLUS :

Desde USER_PROPIETARIO :

GRANT EXCUTE ON << NOMBRE_DEL_PACKAGE >> TO USER_EJECUTOR
/

Desde USER_EJECUTOR ( O un usuario DBA ) :

CREATE SYNONYM USER_EJECUTOR.NOMBRE_DEL_SINONIMO ( GENERALMENTE SE LE LLAMA IGUAL QUE EL OBJETO ORIGINAL ) FOR USER_PROPIETARIO.NOMBRE_DEL_PACKAGE
/

Pues si no me he liado, creo que esto es todo.
  #3 (permalink)  
Antiguo 31/12/2009, 13:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 9
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Privilegio para procedimientos almacenados

Muchas gracias jc3000!!

Soy principiante con oracle y eso era exactamente lo que necesitaba para poder llamar procedimientos almacenados que estan en paquetes, con Adodb de Php.

Te lo agradezco enormemente

Saludos!!
  #4 (permalink)  
Antiguo 31/12/2009, 19:42
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 13 años, 4 meses
Puntos: 43
Respuesta: Privilegio para procedimientos almacenados

Cita:
Iniciado por javiercito21 Ver Mensaje
Muchas gracias jc3000!!

Soy principiante con oracle y eso era exactamente lo que necesitaba para poder llamar procedimientos almacenados que estan en paquetes, con Adodb de Php.

Te lo agradezco enormemente

Saludos!!
A mandar que para eso estamos.

Un saludo
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 02:40.