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.
| |||
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. |
| |||
![]() 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 |
| |||
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 |
| |||
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:
Agregar el oracle instant client al linker dinamicorpm -ivh nombre_del_paquete.rpm
Código:
Posteriormente descargar PECL OCI8 desde http://pecl.php.net/package/oci8echo /usr/include/oracle/<VERSION>/client > /etc/ld.so.conf.d/oracle_client.conf ldconfig -v Descomprimir PECL
Código:
configurar el PECL como un objeto compartido usando instant client y especificando donde estan las librerias cliente de oracle, construir e instalartar -xzvf oci-<VERSION>.tgz cd oci-<version> phpize
Código:
Agregar la libreria de objeto compartida LSO para PHP./configure --with-oci8=shared,instantclient,/usr/lib/oracle/<VERSION>/client/lib make make install
Código:
REINICIAR apacheecho extension=oci8.so > /etc/php.d/oci8.ini
Código:
o bien con /etc/init.d/httpd restart
Código:
(depende de la distro)services httpd restart 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:
con esto podrás ver cualquier mensaje de error generado por apache a modo de debug.tail – f /var/log/httpd/http_error 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:
Si el error en error_log es este:chcon -t textrel_shlib_t '/usr/lib/oracle/11.2/client/lib/libnnz11.so' /etc/init.d/httpd restart 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 |