Problema de ejecución de PL/SQL

Eyes
27 de Mayo del 2004
Hola a todos:

Entro con el ususario SYS al SQLPLUS y creo un Tabla Prueba en otro esquema, esto es:

CREATE TALBLE Otro.Prueba(
ID NUMBER,
Observaciones LONG);

Creo un Sinonimo público:
CREATE PUBLIC SINONYM Prueba FOR Otro.Prueba

Ahora, despues dentro de un paquete creo un procedimiento declaro un CURSOR, o cualquier otra operacion DML, más o menos así:

CURSOR cur_Obs IS
SELECT * FROM Prueba;

Y el bloque principal lleva, algo así:
BEGIN
...
...
OPEN cur_Obs;
...
CLOSE cur_Obs;
...
END;

En este momento cuando decido definir (compilar) el cuerpo del paquete que lleva este codigo me marca el siguiente error en la linea y columna despues del FROM del cursor:

PL/SQL: SQL Statement ignored
PL/SQL: ORA-00942: table or view does not exist

Porque?, si hago una consulta desde SQLPLUS, un SELECT o DESC a la tabla Prueba, no tengo ningún problema lo resuelve sin ningún problema, porque dentro del paquete ocurre dicho error?

Espero que me ayuden, no puedo compilar ningun paquete que lleve este tipo de operaciones, es decir, casi ninguno...

Saludos

carlosu
27 de Mayo del 2004
Saludos, yo no se si este cursor lo ejecutas con el mismo usuario ya que si tienes un sinonimo publico es para asignarlo a otro usuario y para esto se deben dar grants de acceso al objeto prueba.