Foros del Web » Programando para Internet » PHP »

Configurar Oracle en php5

Estas en el tema de Configurar Oracle en php5 en el foro de PHP en Foros del Web. Hola. Tengo algunos problemas con Oracle. Hasta ahora sólo había usado bases de datos con mysql y postgresql. Ahora necesito usar Oracle y no esperaba ...
  #1 (permalink)  
Antiguo 06/03/2007, 07:22
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 0
Exclamación Configurar Oracle en php5

Hola.

Tengo algunos problemas con Oracle. Hasta ahora sólo había usado bases de datos con mysql y postgresql. Ahora necesito usar Oracle y no esperaba encontrar estas diferencias. Para empezar, veo que existen dos posibles maneras de conectarse a una base de datos con Oracle, las dos extensiones que permiten esto son ora y oci. Sin embargo, lo que he estado probando lo vi en otro hilo que, a su vez, ponían este enlace:



Pues bien, según ese hilo tengo que descomentar las extensiones correspondientes:

Código PHP:
;extension php_oci8.dll
;extension php_oracle.dll 
En mi php.ini (tengo instalado php versión 5 que viene con el xampp) no existe php_oracle.dll ni tan siquiera encuentro la palabra "oracle" en todo el php.ini (ni tampoco encuentro la subcadena "ora" dentro de las extensiones). Para el caso de php_oci8.dll, la línea ya está descomentada. Ahora bien, la web que os he linkado dice que hay que hacer lo siguiente:

Código PHP:
--with-oracle=/path/to/oracle/home/dir
--with-oci8=/path/to/oracle/home/dir 
Y no sé del todo bien lo que hacen esas dos líneas. Sólo que el servidor que yo uso para oracle no está en mi pc y debo conectarme a otro pc de mi red, ¿Qué función tienen esas dos líneas?

Espero que podáis ayudarme, porque este sencillo error me tiene bastante detenido.
__________________
por Pip

Última edición por Pip; 06/03/2007 a las 18:53 Razón: porque el nuevo título explica mejor el asunto del hilo
  #2 (permalink)  
Antiguo 06/03/2007, 16:35
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: Configurar Oracle en php5

Decir que las extensiones las tengo añadidas, ambas están descomentadas, el servidor de Apache fue reiniciado tras ello y el mensaje de error sigue siendo:

Código PHP:
Fatal error:  Call to undefined function OCILogon() in E:Mis documentosVinccipaginasprueba_conexion.php on line 19 
Mi servidor de Oracle está en una máquina virtual instalada en el mismo pc en el que estoy trabajando (ambos bajo Windows) y que está en mi red doméstica, en el mismo grupo de trabajo que el resto de equipos, con conexión a todos ellos, su IP Local es 192.168.1.230 y mi router tiene abierto el puerto 1521 que es el que usa Oracle.

La página que trato de cargar y que genera el error de arriba tiene este código php

Código PHP:
<?php
  $dbh 
OCILogon"usuario""contraseña""192.168.1.230:1521" );
  if (
$dbh == NULL) {
    print 
"DB Connection Error!!";
  } else {
    
$sql "SELECT table_name FROM all_tables";
    
$stmt OCIParse($dbh$sql);
    if (!
$stmt) {
      print 
"DB Search Error!!";
    } else {
      
OCIExecute($stmt);
      
$rows OCIFetchstatement($stmt$results);
      if (
$rows 0) {
        for (
$i 0$i $rows$i++) {
          print 
$results["TABLE_NAME"][$i] . "<br>";
        }
      }   
    }
    
OCIFreeStatement($stmt);
    
OCILogoff($dbh);
  }
?>
Y el usuario y la contraseña son forzosamente correctos porque me deja conectar a la base de datos desde http://192.168.1.320/isqlplus

No sé si hay que hacer algo más para que puedan funcionar estos módulos, agradecería infinitamente ayuda.
__________________
por Pip

Última edición por Pip; 06/03/2007 a las 18:52 Razón: Añadir información adicional
  #3 (permalink)  
Antiguo 07/03/2007, 07:02
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: Configurar Oracle en php5

Sólo escribo para decir que ya sé el motivo por el cual no me reconocía las funciones de Oracle, por si a alguien le sirve de ayuda. El "problema" venía por el xampp. El xampp crea varios php.ini (cosa que yo no sospechaba) y, parece que el válido de todos ellos, es el que se encuentra en el directorio Apache/bin.

No obstante, una vez cambiado el php.ini correspondiente, me pide muchos archivos .dll que no vienen en la sección Platform Downloads de la web de oracle. Tales como oracore10.dll (que aún estoy intentando bajar de alguna página). Eso para la extensión de oracle
Cita:
extension=php_oracle.dll
, aunque la otra sí parece reconocerla, la oci.

Sin embargo los problemas continuan, parece que hay cosas de oracle que desconozco, este es el error que me muestra:

Código PHP:
Warning:  ocilogon() [function.ocilogon]: OCIEnvNlsCreate() failedThere is something wrong with your system please check that PATH includes the directory with Oracle Instant Client libraries in E:Mis documentosVinccipaginasprueba_conexion.php on line 25
DB Connection Error
!! 
Y no sé donde hay que especificar el PATH ni a qué PATH se refiere..l.
__________________
por Pip
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:38.