Foros del Web » Programando para Internet » PHP »

Conectarse a Oracle con ADODB

Estas en el tema de Conectarse a Oracle con ADODB en el foro de PHP en Foros del Web. Hola a todos. Quien me puede ayudar con un pequeño ejemplo de conexión a una base de datos Oracle, empleando ADODB.... En el servidor 1 ...
  #1 (permalink)  
Antiguo 10/01/2007, 11:37
 
Fecha de Ingreso: febrero-2004
Ubicación: Guayaquil
Mensajes: 110
Antigüedad: 20 años, 1 mes
Puntos: 0
Conectarse a Oracle con ADODB

Hola a todos.

Quien me puede ayudar con un pequeño ejemplo de conexión a una base de datos Oracle, empleando ADODB....
En el servidor 1 tengo Apache y PHP
En el servidor 2 tengo el Oracle (v. 8)....

Gracias por sus ayuda.
  #2 (permalink)  
Antiguo 31/05/2007, 16:02
 
Fecha de Ingreso: mayo-2007
Mensajes: 2
Antigüedad: 16 años, 10 meses
Puntos: 0
Información Re: Conectarse a Oracle con ADODB

Hola Colega:

Mira yo también uso AdoDB, para conectarme a una base de datos Oracle, desde PHP, lo de la conexión lo resolví con esta función:

<?php
session_start();
$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 ="127.0.0.1"; //Sí Php y Oracle están en la misma máquina
//en caso contrario incluir la ip del servidor oracle
$user ="USUARIO";
$password ="LOQUESEA";
$sid ="NOMBRE DE LA BASE DE DATOS";


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


DE TODAS MANERAS, VERIFICA QUE LA LIBRERIA OCI8, ESTE ACTIVADA, PARA ELLO CORRE UN php.info(), SINO TIENES ESTO VERIFICA EL PROCEDIMIENTO, AL COMIENZO TUVE PROBLEMA, PERO AL FINAL TODO QUEDO OK... E HICE LO SIGUIENTE:

1. Instalar Oracle 10g.
2. Instalar Toad.
3. Ingresar al toad como usuario System y clave respectiva.
4. Agregar un usuario con todos los permisos
5. Iniciar sesión desde toad con este usuario. si ok...
6. Crear base de datos.


*********************INSTALACION XAMMP********************

1. Instalar xampp.
2. Activar php_oci8.dll, la cual esta en:
C:\Archivos de programa\xampp\php
C:\Archivos de programa\xampp\apache\bin
3. Copiar la php_oci8.dll en el systwm y system32 de Windows.
3. Reiniciar equipo

Y TODO OK.....

BYEEEE,

ATT:

MARISOL ORTIZ
ingmaryortiz_hotmail.com
  #3 (permalink)  
Antiguo 26/06/2007, 09:08
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 2 meses
Puntos: 1
Re: Conectarse a Oracle con ADODB

Saludos

Alguien puede indicar ese procedimiento pero bajo ambiente Linux?

Le agregue al .INI la siguiente linea:
extension=oci8.so

Reinicie el apache, pero no hace nada.

El código con el que intento conectarme es:

$conn = oci_connect('admin', '12345', 'ADMIN');

La respuesta que obtengo es:

Fatal error: Call to undefined function oci_connect() in /var/www/intranettsv/oracle.php on line 2
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #4 (permalink)  
Antiguo 15/08/2007, 16:11
 
Fecha de Ingreso: agosto-2007
Mensajes: 1
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Conectarse a Oracle con ADODB

hola yo tambien tengo el mensaje:
Fatal error: Call to undefined function oci_connect() in C:\Servidor\WEB\BANNY\XML\index5.php on line 2

uso oracle 9i, php 5, ya descomente del php.ini la linea php_oci8, cual es el error que tengo?.
algo mas, cuando realizo la conexion con odbc_connect, si logra conectarme con oracle, ayuda please
  #5 (permalink)  
Antiguo 20/01/2010, 13:48
 
Fecha de Ingreso: enero-2010
Mensajes: 1
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Conectarse a Oracle con ADODB

Chicos,

Para habilitar OCI8 en linux deben hacer lo siguiente:

Primero debemos descargar los paquetes RPM para el instantclient Version 11.1.0.7.0 o bien la versión 11.2

oracle-instantclient11.2-basic-11.1.0.7.0-1.i386.rpm
oracle-instantclient11.2-sqlplus-11.1.0.7.0-1.i386.rpm
oracle-instantclient11.2-devel-11.1.0.7.0-1.i386.rpm
oracle-instantclient11.2-odbc-11.1.0.7.0-1.i386.rpm

Con estos paquetes tendremos entre otras cosas, soporte para sqlplus mediante el cliente, el sdk, y acceso odbc

para instalar los paquetes simplemente con:

Código:
rpm -ivh nombre_del_paquete.rpm
Agregar el oracle instant client al linker dinamico

Código:
echo /usr/include/oracle/<VERSION>/client > /etc/ld.so.conf.d/oracle_client.conf
ldconfig -v
Posteriormente descargar PECL OCI8 desde http://pecl.php.net/package/oci8

Descomprimir PECL
Código:
tar -xzvf oci-<VERSION>.tgz
cd oci-<version>
phpize
configurar el PECL como un objeto compartido usando instant client y especificando donde estan las librerias cliente de oracle, construir e instalar

Código:
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/<VERSION>/client/lib
make
make install
Agregar la libreria de objeto compartida LSO para PHP

Código:
echo extension=oci8.so > /etc/php.d/oci8.ini
REINICIAR apache

Código:
/etc/init.d/httpd restart
o bien con
Código:
services httpd restart
(depende de la distro)

en algunos casos ocurre que si tienes habilitado SELINUX este bloquea la carga correcta de la libreria .so de oci, si te encuentras con cualquiera de los siguientes problemas esta sería la solución:

Nota: para determinar un problema en la carga de oci ejecutar lo siguiente

setenforce Permissive o bien deshabilitar SELINUX

en CENTOS o cualquier distribución Redhat o Fedora ejecutar un
Código:
tail – f /var/log/httpd/http_error
con esto podrás ver cualquier mensaje de error generado por apache a modo de debug.

si el mensaje de error al iniciar apache es este

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/oci8.so' - libclntsh.so.11.1: cannot enable executable stack as shared object requires: Permission denied in Unknown on line 0

Probar esto:
Código:
chcon -t textrel_shlib_t '/usr/lib/oracle/11.2/client/lib/libnnz11.so'
/etc/init.d/httpd restart
Si el error en error_log es este:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/oci8.so' - libaio.so.1: cannot open shared object file: No such file or directory in Unknown on line 0

Entonces instalar libaio.so usando yum, aptitude o apt-get

Dudas ?

Todo esto testeado en CENTOS, si lo necesitan para Ubuntu es muy similar pero algo mas facil... si lo necesitan me avisan.

Saludos y espero que les sirva
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:22.