Multiples Cursores

zCreed
06 de Julio del 2004
Hola. Tengo un problema, yo manejo multiples usuarios concurrentes, pero tengo un proceso en el cual utilizo un store que devuelve un cursor del tipo ref Cursor, el problema es que cuando hay demasiados usuarios concurrentes el sistema se vuelve mas lento q tortuga coja.
Ahora quisiera consultar como puedo cerrar un cursor de este tipo si en el paquete esta de esta forma:
CREATE OR REPLACE PACKAGE pck_pcalendariog
AS
TYPE curcalen IS REF CURSOR;

PROCEDURE sp_listarcalendario (
anio CALENDARIO_GASTO.metano%TYPE,
unidepcod CALENDARIO_GASTO.unidepcod%TYPE,
mesid CALENDARIO_GASTO.mescod%TYPE,
fuente CALENDARIO_GASTO.ffinancod%TYPE,
p_cursor IN OUT curcalen
);
END pck_pcalendariog;
Los usuarios consultan este procedimiento al ingresar un nuevo registro o en cualquier reporte por lo q su uso es critico e indispensable.

Este procedimiento usa ademas una funcion q calcula montos, por el cual lo hace mas lento.

Pero ahora si cierro el cursor antes de enviarlo a mi recordet, yo uso VB6.0 y oracle 8i release 8.1.7.
Por ahi he leido que el oracle tiene un maximo permitido de cursores en memoria, quisiera saber donde se puede modificar este parametro o como podria hacer este rpocedimiento para que cuando haiga demasiados usuarios concurrentes no ocasione cola y no sea tan lento.

Si tuvieran alguna sugerencia o alguna respuesta a mi pregunta porfavor respondan a [email protected]