Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Oracle
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-05-2004
Igna Igna is offline
Miembro
 
Registrado: jun 2003
Posts: 27
Poder: 0
Igna Va por buen camino
error package owa_util

Buenos días.

Tengo un procedure en oracle de la siguiente forma:

CREATE OR REPLACE PROCEDURE CURRENT_USERS
as
ignore boolean;
begin
htp.htmlopen;
htp.headopen;
htp.title('current users');
htp.headclose;
htp.bodyopen;
htp.header(1, 'current users');
ignore:=owa_util.tableprint('all_users');
htp.bodyclose;
htp.htmlclose;
end;

Utilizo el modplsq, para ejecutarlo através del navegador. Cuando lo ejecuto con el usuario propietario del procedure, no tengo ningún problema. El problema viene cuando lo ejecuto con otro usuario (antes le doy permiso de ejecución). Me da el siguiente error:

Wed, 12 May 2004 09:38:59 GMT

ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "LIMS.OWA_UTIL", line 323
ORA-06512: at "LIMS.HTP", line 859
ORA-06512: at "LIMS.HTP", line 974
ORA-06512: at "LIMS.HTP", line 992
ORA-06512: at "LIMS.HTP", line 40
ORA-06512: at "LIMS.CURRENT_USERS", line 5
ORA-06512: at line 7

La verdad es que voy un poco perdido con este tema, y agradecería una pequeña ayuda.

Gracias y un saludo.
Responder Con Cita
  #2  
Antiguo 12-05-2004
santana santana is offline
No confirmado
 
Registrado: nov 2003
Posts: 1.030
Poder: 0
santana cantidad desconocida en este momento
Creo recordar que este problema se daba a causa de un bug en la cabecera del paquete OWA (sobre la linea 8 o así, no estoy segura).

La variable num_cgi_vars se declara pero no se le da un valor inicial y se solucionaba cambiando la declaración asignandole valor 0 en la declaración.

El primer error se refiere a eso, el ORA-06512 te desaparecerá en cuanto soluciones el primero, más que un error es un advertencia respecto a que hay otros errores no tratados. No sé si me he sabido explicar.

Un saludo.
Responder Con Cita
  #3  
Antiguo 12-05-2004
Igna Igna is offline
Miembro
 
Registrado: jun 2003
Posts: 27
Poder: 0
Igna Va por buen camino
Gracias santana.

En efecto, con cambiar la declaración de la variable num_cgi_vars y darle un valor incial = 0 en el package OWA, ya no me da ese error.

Ahora el problema es que no me saca la página web cuando ejecuto ese procedimiento con un usuario (us2) distinto (que no sea el propietario del procedure (us1)). Me dice que no se puede encontrar la página. No tengo ni ides de porqué puede ser, pero lo he "arreglado" haciendo un procedimiento para el usuario us2 que se encarga de llamar al procedimiento del usuario us1, y después montar la web.

No se si ha quedado muy claro. Por si acaso, lo intento explicar un poco mejor:

us1 crea una función fun1, donde se realizan las operaciones complejas.
us2 crea un procedimiento que llama a fun1, y escribe código html sacando el resultado de fun1.

Bueno, espero que esté un poquito más claro. Lo malo de esto, es que se supone que tendré que crear ese procedimiento para cada usuario. Si alguien sabe como arreglar el error, le agradecería que me orientase un mínimo.

Gracias de nuevo, y un saludo.
Responder Con Cita
  #4  
Antiguo 12-05-2004
santana santana is offline
No confirmado
 
Registrado: nov 2003
Posts: 1.030
Poder: 0
santana cantidad desconocida en este momento
Hola.

¿El segundo usuario tiene concedido el privilegio EXECUTE sobre el procedimiento del primer usuario?
Responder Con Cita
  #5  
Antiguo 12-05-2004
Igna Igna is offline
Miembro
 
Registrado: jun 2003
Posts: 27
Poder: 0
Igna Va por buen camino
Sí que tiene el privilegio execute. Si lo ejecuto con el SQLPlus no me da ningún error. El problema es que no devuelve el códgio html.

Si ejecuto el procedimento con el primer usuario, y después pongo

SQL> execute owa_util.showpage;

me sale el código html:

Content-type: text/html
Content-length: 104
<HTML>
<HEAD>
<TITLE>current users</TITLE>
</HEAD>
<BODY>
<H1>current users</H1>
prueba
</BODY>
</HTML>

Si lo ejecuto con el 2 usuario, no me da ningún error, pero no me saca náda de código html.

No tengo ni idea de donde puede estar el problema.

De todas formas, gracias por tu ineterés.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:42:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi