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. |