PHP y Oracle procedure
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,
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,
Hola
php, para acceder a la base de datos Oracle, utiliza una libreria y la version de la libreria tiene mucho que ver.
saludos
php, para acceder a la base de datos Oracle, utiliza una libreria y la version de la libreria tiene mucho que ver.
saludos
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
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