Hola. Estoy intentando configurar el controlador ODBC unixODBC para Linux y no lo consigo. Lo he instalado en mi máquina con la siguiente configuración:
- Pentium II 350 Mhz con SUSE LINUX 8.2, que funciona como servidor de base de datos. - MaxDB 7.5.00.15 (gestor de base de datos que ha surgido de la antigua SAP DB y que ahora desarrollan entre SAP y MySQL). - unixODBC 2.2.3-84 que se instala al instalar MaxDB.
El gestor de base de datos MaxDB funciona y he creado una base de datos con él con tablas y vistas. Lo que quiero ahora es configurar el unixODBC para poder acceder desde una página web hecha con php, con lo cual debo configurar ODBC localmente puesto que php se ejecuta del lado del servidor.
Esta es la configuración del ODBC:
odbc.ini
[MAXDB_L] Description = MaxDB Driver = MaxDB ServerNode = localhost Server DB = BD_name
unixodbcinst.ini
[iSeries Access ODBC Driver] Description = iSeries Access for Linux ODBC Driver Driver = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so Setup = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so Threading = 2 FileUsage = 1
[MaxDB] Description = MaxDB_Driver Driver = /opt/sdb/interfaces/odbc/lib/libsqlod.so Setup = /usr/lib/unixODBC/libsapdbS.so FileUsage = 1 CPTimeout = CPReuse =
[ODBC] Trace = No TraceFile = /tmp/sql.log ForceTrace = No Pooling = No
Estos dos archivos (que están en /etc/unixODBC) tienen sus correspondientes enlaces blandos en determinados sitios donde son necesarios: /etc, /home/usuario, etc. Y al hacer una prueba de funcionamiento desde LINUX con el comando isql obtengo lo siguiente:
isql MAXDB_L usuario pass -v
[unixODBC][MySQL MaxDB][LIBSQLOD SO] Unable to connect to data source;-709 CONNECT:
> [ISQL]ERROR: Could not SQLConnect O sea, que no conecta por culpa de que no reconoce la máquina "localhost" que se define en el archivo "odbc.ini". Pues bien, he probado a poner en ServerNode en vez de localhost la IP de la máquina en concreto, la IP 127.0.0.1, el nombre de la máquina como tal... y de ninguna de las maneras me conecta (si en vez de localhost pongo 127.0.0.1 me aparece el mismo error pero sustituyendo localhost por 127.0.0.1). También he probado a dejar el campo ServerNode a vacío por ser la conexión local, pero tampoco.
Por si sirve de ayuda ya he colocado una variable en el .profile del usuario gestor de la base de datos (y que la arranca) para asumir un Kernel más antiguo y que funciona bien (esto lo he observado de otros foros):
export LD_ASSUME_KERNEL=2.2.5
Pero tampoco me funciona. He observado también el fichero /etc/hosts y tiene lo siguiente:
# special IPv6 addresses ::1 localhost ipv6-localhost ipv6-loopback
fe00::0 ipv6-localnet
ff00::0 ipv6-mcastprefix ff02::1 ipv6-allnodes ff02::2 ipv6-allrouters ff02::3 ipv6-allhosts
127.0.0.1 localhost 192.168.0.195 apache.local apache
Que no me parece que tenga nada raro. Pues bien, creo que he agotado todas la posibilidades después de visitar listas de correos en la página oficial de MaxDB y en foros por todos lados. A ver si alquien me puede ayudar por favor puesto que es urgente. Muchas gracias de antemano.
José Manuel Galván Labrador Ingeniero Técnico en Informática de Gestión Dpto. de Ingeniería e-mail: jmgalvan@itsmo94.com Tfno:954213120. ITSMO 94 S.L.