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
CREATE OR REPLACE PROCEDURE prueba_cursor ( variable01 IN NUMBER, p_cursor OUT cur_types.cursor_type) IS tmpVar NUMBER; BEGIN OPEN p_cursor FOR Select t.tabtype tipo, count(*) cuenta FROM tab t GROUP BY t.tabtype ; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; WHEN OTHERS THEN -- Consider logging the error and then re-raise RAISE; 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, -1, OCI_B_CURSOR);
$rs = $db->Execute($stmt,$bindarr);
rs2html($rs->sqlString);
Algunos datos:
PHP: 5.3.8
Oracle : Express 10G
conectados y corriendo bien.... los select los muetra sin problemas.
ATTE
ATN