Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Conexion base de datos oracle 10g con XAMPP y PHP 5

Estas en el tema de Conexion base de datos oracle 10g con XAMPP y PHP 5 en el foro de Oracle en Foros del Web. Buenas tardes, necesito por favor de su ayuda en una tarea que tengo pendiente. estoy tratando de realizar una conexion a una base de datos ...
  #1 (permalink)  
Antiguo 08/11/2011, 14:27
 
Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Conexion base de datos oracle 10g con XAMPP y PHP 5

Buenas tardes, necesito por favor de su ayuda en una tarea que tengo pendiente. estoy tratando de realizar una conexion a una base de datos oracle con xampp y php. no soy un conocedor de la materia y pues consegui un video tutorial en youtube que explica paso a paso como hacerlo. segui el tutorial al pie de la letra y al momento de iniciar al xampp (y anteriormente haber modificado el archivo php.ini para habilitar la extension oci8.dll) me sale este error por pantalla:

"no se encuentra el punto de entrada del procedimiento OCIStmtPrepare2 en la biblioteca de vinculos dinamicos OCI.dll"

adicionalmente ejecute un archivo .php en el navegador con la instruccion phpinfo() y la extension OCI8 no esta ejecutandose

realice una busqueda de este error en google y para mi sorpresa solo encuentra 2 resultados y no son de mucha ayuda.

espero por favor puedan ayudarme, no tengo ni la mas remota idea como solventar ese error, no se si se trata de habilitar otra opcion en el archivo .ini o si se trata de copiar una libreria o algo por el estilo.

les comento que tengo windows 7 home premium, la base de datos es exactamente oracle database 10g release 10.1.0.3.0 pero no esta instalada local en la maquina sino que se accede a ella desde un servidor

muchas gracias de antemano por su ayuda
  #2 (permalink)  
Antiguo 09/11/2011, 18:26
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Respuesta: Conexion base de datos oracle 10g con XAMPP y PHP 5

Recuerda que si el Apache está en el Windows 7 también necesitas instalar y configurar un cliente de Oracle para poder acceder a una base de datos de un servidor remoto, si esto ya lo tienes, prueba copiando la oci.dll que se encuentra en el directorio bin del cliente de Oracle al directorio de php definido con el parámetro extension_dir y después reiniciar el Apache.

Saludos
  #3 (permalink)  
Antiguo 10/11/2011, 10:07
 
Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Conexion base de datos oracle 10g con XAMPP y PHP 5

muchas gracias por responderme, efectivamente tengo instalado un cliente oracle en mi pc y procedi a hacer lo que me dijiste. copie el archivo oci.dll de la carpeta BIN del cliente oracle (C:\orant\bin) a la carpeta C:\xampp\php\ext que es la ruta definida en el directorio php pero aun salen estos errores:

1.- no se encuentra el punto de entrada del procedimiento OCISmtPrepare2 en la biblioteca de vinculos dinamicos OCI.dll

2.- php startup: unable to load dynamic library php_oci8.dll

no tengo ni la mas remota idea de que puedo hacer para solucionar esos errores

espero por favor puedan ayudarme, saludos y gracias de antemano
  #4 (permalink)  
Antiguo 18/11/2011, 13:23
 
Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Conexion base de datos oracle 10g con XAMPP y PHP 5

buenas tardes, logre solucionar el problema de conexion que tenia pero me genero otro (aunque no es tan grave). voy a explicar lo que hice para poder lograr la conexion y despues les planteo el nuevo problema para ver si me pueden ayudar.

1.- instale la ultima version del XAMPP disponible (xampp-win32-1.7.7-VC9-installer) que se descarga de la pagina oficial

2.- tengo instalado el cliente oracle version 6 y aqui estaba el problema. lei en un foro que la extension OCI8 solo funciona si el cliente oracle es superior a 8.1. para corregir este problema descargue de la pagina de oracle el instant client 10g y remplace 6 archivos en el directorio donde tenia instalado el cliente de oracle, basicamente el directorio bin (C:\orant\bin), estos archivos son: oci.dll, ociw32.dll, orannzsbb10.dll, oraociei10.dll, oraocci10.dll, ocijdbc10.dll. tambien adicione en la carpeta system32 (C:\windows\system32) el siguiente archivo: msvcr71.dll puesto que llego un momento de la configuracion donde me dio un mensaje de error que decia que ese archivo no se encontraba

3.- quite el comentario de la linea extension=php_oci8.dll en el php.ini (quite el ;) ese archivo esta en C:\xampp\php

4.- descargue la libreria adodb para realizar la conexion y cree la siguiente clase en php:

<?php
$session = session_id();
//Incluir la clase que hace permite conexión a Oracle
include "adodb/adodb.inc.php";

//Crear Conexión:
$DB = ADONewConnection('oci8');
$DB->connectSID = true;

//Datos de conexion
$ip_servidor ="<DIRECCION IP DEL SERVIDOR>";
//Sí Php y Oracle están en la misma máquina usar 127.0.0.1
//en caso contrario incluir la ip del servidor oracle
$user ="<USUARIO>";
$password ="<CLAVE>";
$sid ="<SID>";
//el SID se encuentra en el archivo TNSNAME.ORA en el directorio del cliente - net80 - admin (en mi caso: C:\orant\net80\admin)


//Conexion
$conexion=$DB->PConnect($ip_servidor, $user, $password, $sid);
echo "conexion--->$conexion";
//Sí se establece la conexión el resultado es 1
?>

esta clase que llame prueba.php la guarde en una carpeta llamada prueba tambien dentro del directorio C:\xampp\htdocs y junto con ella la carpeta llamada adodb que mencione arriba que descargue y listo.

me conecto a la base de datos oracle cuando inicio el xampp control panel e inicio el servicio apache, abro un navegador y al escribir localhost\prueba\prueba.php me muestra con exito la conexion.

ahora por alguna extraña razon puedo acceder a la base de datos desde el sqlplus pero no desde el toad

me da un mensaje de error que dice:
ora-12154 tns no se ha podido resolver el nombre del servicio (<NOMBRE DE LA BD>)

no tengo ni idea que altero del toad para que ahora no pueda conectarme desde ese gestor (particularmente pienso que es el mas completo para base de datos oracle) si pueden ayudarme con ese error por favor háganlo saber. saludos
  #5 (permalink)  
Antiguo 18/11/2011, 17:40
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 5 meses
Puntos: 85
Respuesta: Conexion base de datos oracle 10g con XAMPP y PHP 5

No queda muy claro que tienes instalado como cliente de Oracle en el Windows 7, puede que sea buena idea empezar de cero.

1. Desinstalar todo lo referente al cliente de Oracle.
2. Para Windows 7 es compatible el cliente de Oracle 10.2.0.3 o superior http://www.oracle.com/technetwork/to...ft-085727.html
3. Cuando tengas un único cliente de Oracle, busca el fichero tnsnames.ora dentro del directorio network\admin y configura la definición del servidor de base de datos, será algo similar a:

Código:
SID =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Ip_del_Servidor)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SID)
    )
  )
El ORA-12154 es un error del cliente, y significa que no se ha podido resolver el nombre de la base de datos (SID) indicado en la conexión, es decir, no se pudo encontrar el nombre dentro del tnsnames.ora.

Saludos

Etiquetas: 10g, conexion, php, xampp
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 07:31.