Oracle - Error ORA-00942

 
Vista:

Error ORA-00942

Publicado por lorrich (6 intervenciones) el 13/06/2007 17:20:55
Buenas.

Os comento mi problema.

Estoy haciendo unos trigers para copias datos de una base de datos a otra y me salta el error ORA-00942 diciendome que la tabla no existe cuando si que existe.
El error me da en esta linea.
INSERT INTO "PROYECTOS"."ATRIBUTO" (AT_ATRIBUTO, AT_USUALTA, AT_USUMOD, AT_USUFECHA)
VALUES (:NEW.AT_ATRIBUTO, :NEW.AT_USUALTA, :NEW.AT_USUMOD, :NEW.AT_USUFECHA);

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error ORA-00942

Publicado por Anderssi (1 intervención) el 09/06/2011 10:21:19
hola, a mi me pasaba lo mismo, el error que yo tenia era que el nombre de la tabla la tenia mal escrita, por eso me marcaba el error, verifica bien el nombre de la tabla puede que sea eso el error..que estes bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-00942

Publicado por Rodolfo Reyes (445 intervenciones) el 13/06/2007 22:17:22
Lo que pasa es que el usuario que sea dueño del trigger tiene que tener permisos de insert, y select sobre la tabla de manera directa. A tener permisos de manera directa quiero decir que el grant se lo des directamente al usuario y que no obtenga los permisos por medio de un role.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-00942

Publicado por lorrich (6 intervenciones) el 14/06/2007 13:34:59
Y eso donde lo puedo cambiar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-00942

Publicado por Rodolfo Reyes (445 intervenciones) el 14/06/2007 17:07:50
Si tienes el entreprise manager, desde ahí le puedes dar permisos a un usuario.

Si no lo tienes, tambien puedes abrir una sesión de SQL Plus con con un usuario que tenga el role de DBA y dar por medio de codigo los permisos.

Ejemplo de como dar los permisos con codigo:

Grant select on PROYECTOS.ATRIBUTO to nombre_usuario;

Grant insert on PROYECTOS.ATRIBUTO to nombre_usuario;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-00942

Publicado por lorrich (6 intervenciones) el 15/06/2007 11:59:55
Hizo lo que me digiste, aunque sigue igual, la verdad que no se si sera tema de permisos ya que estoy intentando insertar los datos con el usuario creado para esa base de datos.

Que mas opciones pueden ser?

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-00942

Publicado por Rodolfo Reyes (445 intervenciones) el 15/06/2007 17:06:37
Me puedes poner el codigo completo del trigger que esta intentando crear.

Y pon el mensaje completo del error que te esta dando.

Tal vez que esto pueda ver mejor de que se trata.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-00942

Publicado por lorrich (6 intervenciones) el 18/06/2007 08:56:11
DECLARE
usuario_bd VARCHAR2(40);
CURSOR usuarios IS SELECT in_char FROM params WHERE in_fichero = 'U' AND in_codigo LIKE 'ACT_USUBD%';
BEGIN

OPEN usuarios;
LOOP
fetch usuarios into usuario_bd;
EXIT WHEN usuarios%NOTFOUND;

IF usuario_bd = 'A' THEN
BEGIN
INSERT INTO "A"."ATRIBUTO" (UNO, D0S, TRES, CUATRO)
VALUES (:NEW.UNO, :NEW.DOS, :NEW.TRES, :NEW.CUATRO);

EXCEPTION WHEN DUP_VAL_ON_INDEX THEN NULL;
WHEN OTHERS THEN NULL;
END;
END IF;

IF usuario_bd = 'B' THEN
BEGIN
INSERT INTO "B"."ATRIBUTO" (UNO, DOS, TRES, CUATRO)
VALUES (:NEW.UNO, :NEW.AT_DOS, :NEW.TRES, :NEW.CUATRO);

EXCEPTION WHEN DUP_VAL_ON_INDEX THEN NULL;
WHEN OTHERS THEN NULL;
END;
END IF;

IF usuario_bd = 'C' THEN
BEGIN
INSERT INTO "C"."ATRIBUTO" (UNO, DOS, TRES, CUATRO)
VALUES (:NEW.UNO, :NEW.DOS, :NEW.TRES, :NEW.CUATRO);

EXCEPTION WHEN DUP_VAL_ON_INDEX THEN NULL;
WHEN OTHERS THEN NULL;
END;
END IF;

IF usuario_bd = 'D' THEN
BEGIN
INSERT INTO "D"."ATRIBUTO" (UNO, DOS, TRES, CUATRO)
VALUES (:NEW.UNO, :NEW.DOS, :NEW.TRES, :NEW.CUATRO);

EXCEPTION WHEN DUP_VAL_ON_INDEX THEN NULL;
WHEN OTHERS THEN NULL;
END;
END IF;
END LOOP;
CLOSE usuarios;
END ;

Como ves lo que quiero hacer es que cuando inserten en una base de datos, copiarlo a otras cuatro, pero en cada tabla atributos me da el mismo error.

Número de Línea = 13 Número de Columna = 27 Texto de Error = PL/SQL: ORA-00942: la tabla o vista no existe
Número de Línea = 13 Número de Columna = 3 Texto de Error = PL/SQL: SQL Statement ignored
Número de Línea = 23 Número de Columna = 23 Texto de Error = PL/SQL: ORA-00942: la tabla o vista no existe
Número de Línea = 23 Número de Columna = 3 Texto de Error = PL/SQL: SQL Statement ignored
Número de Línea = 33 Número de Columna = 25 Texto de Error = PL/SQL: ORA-00942: la tabla o vista no existe
Número de Línea = 33 Número de Columna = 3 Texto de Error = PL/SQL: SQL Statement ignored
Número de Línea = 43 Número de Columna = 26 Texto de Error = PL/SQL: ORA-00942: la tabla o vista no existe
Número de Línea = 43 Número de Columna = 3 Texto de Error = PL/SQL: SQL Statement ignored

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-00942

Publicado por lorrich (6 intervenciones) el 18/06/2007 09:52:03
Ya esta solucionado, si que era tema de permisos, le había dado permiso a todos los usuarios, menos al propietario.

Gracias y un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-00942

Publicado por Francisco  (1 intervención) el 22/12/2008 20:42:05
cuando boy a imprimir un listado de retenciones me da un error que no me muestra los datos en pantalla ni permite ver el view
que hago
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-00942

Publicado por Federico  (1 intervención) el 29/12/2008 20:39:32
Fijate en el post anterior, necesitas que el DBA te asigne los permisos...

Slds
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error ORA-00942

Publicado por Leandra (1 intervención) el 22/05/2013 19:06:10
Excelente respuesta, me funcionó....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar