PHP y Oracle procedure

opinto
01 de Julio del 2005
Hola A todos.

Antes de plantear mi problema, siempre he escuchado, que muchos afirman, que PHP es muy superior a ASP, y en la practica hay cosas que no he podido hacer con PHP y si con ASP, bueno que le vamos a hacer.

A ver si alguien, sabe algo con respecto a esto.

Tengo en Oracle, un procedimiento adentro de un paquete, y este procedimiento, devuelve un objeto tipo tabla, que en el fondo es una coleccion de datos, OJO, no es un cursor, es un objeto tipo tabla, que no he podido hacerlo funcionar con PHP, aqui el codigo

CREATE PACKAGE Prov_Pkg
AS
TYPE tblEName IS TABLE OF VARCHAR2(130) INDEX BY BINARY_INTEGER;

PROCEDURE Prov
(o_EName OUT tblEName)
END Prov_pkg;

CREATE PACKAGE BODY Prov_Pkg
AS
PROCEDURE Prov
(o_EName OUT tblEName)
IS
CURSOR cur_employee IS
SELECT razon_social
FROM Proveedores;
RecordCount NUMBER DEFAULT 0;
BEGIN
FOR curRecProv IN cur_prov LOOP
RecordCount:= RecordCount + 1;
o_EName(RecordCount):= curRecProv.razon_social;
END LOOP;
END Prov;
END Prov_Pkg;

Y el Codigo PHP

$sql = "Begin Prov_pkg.Prov(:o_EName);End;";

$stmt = OCIParse($conn,$sql);
OCIBindByName($stmt,':o_EName',$o_EName);
OCIExecute($stmt);
echo $o_ENamel->getelem(0);

Y no veo por donde hechar andar este codigo.

En Cambio en ASP, es super sencillo

set cm = server.createobject("adodb.command")
cm.activeconnection = conexion

cm.commandtext = "{call PROV_PKG.PROV({resultset 9,o_EName})}"
cm.commandtype = &H0001

set reg = server.createobject("adodb.recordset")
reg.activeconnection = conexion
reg.cursortype = 3
set reg.source = cm
reg.open

largo = 0
response.write "salida<br>"
do while not reg.eof

response.write reg("o_EName") & "<br>"
reg.movenext
loop


Alguien Me puede decir, si PHP es capaz de hacer lo que hace ASP.

Ojala se pueda,

opinto
01 de Julio del 2005
Parece que aqui solo saben cosas pequeñas, como Mysql y Consultas,

sifran
01 de Julio del 2005
Hola
php, para acceder a la base de datos Oracle, utiliza una libreria y la version de la libreria tiene mucho que ver.
saludos

tgp
01 de Julio del 2005
Oye por que no solicitas ayuda en la pagina oficial de oracle?... de que se ha de poder hacer los que queres hacer con php si se puede pero la mayoria de los que utilizamos este foro no utilizamos oracle,

http://www.oracle.com/technology/tech/php/index.html

en este link vas a encontrar algunos ariticulos que te pueden ayudar y ademas hay un foro especial para oracle - php :)

saludos y suerte