Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/12/2011, 13:51
Avatar de omar1977
omar1977
 
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 4
Executar y obtener resultados Procedimiento (Cursor) Oracle

Hola
Espero puedan hecharme un cable, ya que he buscado y rebuscado y no se como hacer funcionar esto, les comento el problema completo

Tengo este procedimiento en Oracle (probado y funcionando segun otras aplicaciones oracle).

Código oracle:
Ver original
  1. CREATE OR REPLACE PROCEDURE prueba_cursor ( variable01 IN NUMBER, p_cursor OUT cur_types.cursor_type) IS
  2. tmpVar NUMBER;
  3. BEGIN
  4.    OPEN p_cursor FOR
  5.                                Select t.tabtype tipo,
  6.                                                   count(*) cuenta
  7.                                FROM   tab t
  8.                                GROUP BY t.tabtype
  9.                                ;
  10.    EXCEPTION
  11.      WHEN NO_DATA_FOUND THEN
  12.        NULL;
  13.      WHEN OTHERS THEN
  14.        -- Consider logging the error and then re-raise
  15.        RAISE;
  16. END prueba_cursor;

El problema que tengo es que no se como llamarlo o cargarlo para recorrer el resultado desde php, y mas encima es estrictamente necesario que sea atravez de ADOdb, he intentado una serie de llamados y es muy probable que este cerca pero no doy con la solucion..... algo de lo que he hecho es
Código PHP:
    $stmt $db->Prepare("begin :cursorvar := getdata(:param1); end;"true);
    
$db->Parameter($stmt$cur'cursorvar'false, -1OCI_B_CURSOR);
    
$rs $db->Execute($stmt,$bindarr);
    
    
rs2html($rs->sqlString); 
Espero puedan hacherme un cable ya que estoy algo complicado y no se como darle solucion a esto.

Algunos datos:
PHP: 5.3.8
Oracle : Express 10G
conectados y corriendo bien.... los select los muetra sin problemas.

ATTE
ATN
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo