La Web del Programador: Comunidad de Programadores
 
    Pregunta:  60702 - PHP Y ORACLE
Autor:  Reinel Marcano
Hola! Que tal? Les cuento tengo un inconveniente estoy desarrollando mi trabajo de grado y es un sistema web usando programación php pero me tengo que conectar a una base de datos oracle, con el usuario, contraseña y nombre de base de datos me puedo conectar que otros datos necesito si alguien me pudiera ayudar xfavor se lo agradesco...

  Respuesta:  Carl Go
Hola.
Para conectarse a Oracle existen 2 librerias que vienen con el PHP

php_oracle.dll
Es una libreria algo antigua pero muy util si no deseas trabajar con datos tipo BLOB o CLOB.

php_oci8.dll
Libreria para conectarse a Oracle DataBase desde la v. 8.0 en adelante posee muchas mas funciones, es mas completo, y trabaja con los BLOB y CLOB.

Existe poca informacion sobre este tema, yo demore regular pero consegui conectarme de todas las maneras posibles. Tomando en cuenta que yo use el Oracle DataBase 9i.

En muchos lugares dicen que basta con tener en el servidor web o la Base de Datos o un Cliente para que funcione, yo en la practica solo lo he logrado instalando el cliente en forma completa ( probe con la DB en el mismo equipo y con la DB en otro servidor, para ambos casos requeri instalar el cliente ).

luego de esto descomentar en el php.ini, una y solo una de estas 2 librerias. Y reiniciar el Apache.

En mi caso solo logre utilizar la libreria php_oci8.dll con el Apache2 + PHP5
php_oracle.dll es la que mas uso y que se acomoda perfectamente desde Apache 1.3.3 y PHP 4

Si al reiniciar el Apache no obtuviste ningun mensaje de error, solo nos faltaria conectarnos.

Con php_oci.dll

CÓDIGO

<?php
$conn = oci_connect('scott', 'tiger', 'orcl');
$query = 'SELECT * FROM EMP';
$Q = oci_parse($conn, $query);
oci_execute($Q, OCI_DEFAULT);
while ( $row = oci_fetch_array($id_sentencia, OCI_RETURN_NULLS) ) {
print_r($row);
echo '<br>';
}
oci_close($conn);
?>

Con php_oracle.dll

CÓDIGO

<?php
$user = 'scott';
$password = 'tiger';
$server = 'orcl';
$us = $user."@".$server; //scott@tiger
if ( !$conn = ora_logon($us,$password) ) {
echo ora_error();
die();
}

$sql="SELECT * FROM EMP";
//creo un cursor
$cur = ora_open($conn);
//hacer un parse de la consulta en el cursor
$Q = ora_parse($cur,$sql);
//ejecutar la consulta en el cursor
$row = ora_exec($cur);
while ( $result = ora_fetch($cur) ) {
$r = ora_getcolumn($cur, 0); // escojo la primera fila del registro (fila)
echo $r . "<br>";
}
ora_close($cur);
?>

Bueno con esto ya pueden probar que se conectaron satisfactoriamente al Oracle.

------------------------------------------------
Sacado de http://foros.hackerss.com/index.php?showtopic=34

Saludos!!! Espero le sirva.