FUNCIONES ORACLE en PHP

posix
12 de Julio del 2005
Hola a todos. Estoy trabajando con Oracle 9i, php y Apache. El caso es que todo funciona perfectamente, pero al intentar ejecutar un procedimiento pl/sql consigo que me lo compile, pero no que me lo ejecute. Me dice que la sentencia "exec" no la reconoce como válida de sql. Os muestro lo que he puesto como código:

<?php

$db_t1 = ora_Logon("xxxx@xxxx", "xxxx");




function create_table($conn)
{ $tabla = ora_open($conn);

$stmt = ora_parse($tabla,"create table xxxx.grupo (ID VARCHAR2(20) NOT NULL,Cod_grupo VARCHAR2(20) NULL,
Nombre_grupo VARCHAR2(20) NULL,CONSTRAINT XPKGRUPO PRIMARY KEY (ID))",$hola);

if($stmt == '0') {
echo " <h4>La tabla no ha podido ser creada</h4>nn";
}
else {
ora_exec($tabla);
echo " <h4>La tabla GRUPO ha sido creada</h4>nn";
}
}



function drop_table($conn)
{ $drop_t = ora_open($conn);
$stmt = ora_parse($drop_t,"drop table xxxx.grupo",$adios);
ora_exec($drop_t);
echo " <h4>La tabla GRUPO ha sido eliminada</h4>nn";
}




function crear_procedure($conn)
{
$cursor = ora_open ($conn);

$stmt = ora_parse($cursor,"CREATE OR REPLACE PROCEDURE xxxx.crear_usuario IS
BEGIN
INSERT INTO xxxx.grupo VALUES ('003','6','6');
END xxxx.crear_usuario;
/ ",$adios);
ora_exec($cursor);
echo " <h4>El procedimiento ha sido creado</h4>nn";
}




function ejecutar_procedure($conn)
{
$ex = ora_open ($conn);

$stmt = ora_parse($ex,"exec crear_usuario('I04')",$adios);
ora_exec($ex);
echo " <h4>El procedimiento ha sido ejecutado</h4>nn";

}





function drop_procedure($conn)
{ $drop_p = ora_open($conn);
$stmt = ora_parse($drop_p,"drop procedure xxxx.crear_usuario",$hola);
ora_exec($drop_p);
echo " <h4>El procedimiento crear_usuario ha sido eliminado</h4>nn";
}



create_table($db_t1);
crear_procedure($db_t1);
ejecutar_procedure($db_t1);
drop_table($db_t1);
drop_procedure($db_t1);



?>

No entiendo porque no me coge el "exec" cuando me ha pillado sin problemas todo el procedimiento.

¿Alguien sabe algo del tema?. Gracias a todos.

Leonardo
12 de Julio del 2005
Hola...

Tengo un problema parecido... quisiera saber como lo haz solucionado... contactame por favor:

[email protected]

Gracias.