![]() |
Ayuda ORACLE PL SQL Saludos a todos. Se me està presentando el siguiente inonveniente al llamar al archivo PHP que a continuciòn les adjunto. Estoy tratando de llamar a un procedimiento almacenado PL-SQL. y obtengo el siguiente error en el log de apache: PHP Warning: ociexecute() [<a href='function.ociexecute'>function.ociexecute</a>]: ORA-06550: línea 1, columna 7: PLS-00306: número o tipos de argumentos erróneos al llamar a 'QUERY$CURSOR' ORA-06550: línea 1, columna 7: PL/SQL: Statement ignored in C:\Archivos de programa\Zend\Apache2\htdocs\pruebaArrays.php on line 20 LE AGRADECERIA ENORMEMENTE A QUIEN PUDIERA AYUDARME A RESOLVER MI SITUACION ---------------------------- PHP CODE ---------------------------------------- <? try { $conn = oci_connect("carlos","tesis","XE"); $sql="BEGIN PACK\$PERSONA.QUERY\$CURSOR(:c,:o,:v,:cursor); END;"; echo($sql); $c = array('ID'); $o = array('='); $v = array('1'); $sqlParsed = OCIParse($conn,$sql); oci_bind_array_by_name($sqlParsed, "c", $c,1, -1, SQLT_CHR); oci_bind_array_by_name($sqlParsed, "o", $o,1, -1, SQLT_CHR); oci_bind_array_by_name($sqlParsed, "v", $v,1, -1, SQLT_CHR); $cursor = ocinewcursor($conn); ocibindbyname($sqlParsed,'cursor', $cursor, -1, OCI_B_CURSOR); $s=OCIExecute($sqlParsed) or die("No se pudo ejecutar ); ociexecute($cursor); //echo("qury ".$query); while (OCIFetch($cursor)) { for($i=0;$i<14;$i++){ echo(OCIResult($cursor,$i)."<br>"); } } OCILogOff($conn); }catch(Exception $e) { echo("Ocurri un error en query.php->queryCursor "); } ?> ------------------------ FIN PHP CODE ---------------------------------------- ------------------------- PROCEDIMIENTO PL AL QUE ESTOY LLAMANDO el cual se encuentra en el paquete PACK\$PERSONA ---------- type rtyWCondition is record(vchColumn varchar2(30), vchOperator varchar2(6), vchValue varchar2(200)); type gttyWCondition is table of rtyWCondition index by binary_integer; procedure Query$Cursor( parTblCondicion in gttyWCondition, parCursor out typCursor) is vchQuery varchar2(1024); vchColumns varchar2(512); begin vchQuery := 'select * ' || ' from CORE$PERSONA ' || construirCondicion(parTblCondicion); open parCursor FOR vchQuery; return; end Query$Cursor; |
Re: Ayuda ORACLE PL SQL no conosco muy bien php pero creo que PLS-00306: número o tipos de argumentos erróneos al llamar a 'QUERY$CURSOR' veo una llamada con 4 parametros $sql="BEGIN PACK\$PERSONA.QUERY\$CURSOR(:c,:o,:v,:cursor); END;"; veo un procedure con 2 parametros procedure Query$Cursor( parTblCondicion in gttyWCondition, parCursor out typCursor) is |
Re: Ayuda ORACLE PL SQL La gente debería fijarse primero en el ORA-XXXXX que sale, interpretarlo y obrar en consecuencia. Aquí no tiene nada que ver el PHP ni ná de ná. Como bien dice kikolice tienes un procedure que recibe 4 parametros y le mandas 2... |
| La zona horaria es GMT -6. Ahora son las 22:42. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.