Elastix: Realizar consultas desde Elastix hacia un IBM AS400 iSeries via ODBC

Imagen de RazaMetaL

Hace poco me tocó lidiar con la conección desde Elastix hacia un servidor IBM AS400 iSeries. Comparto la solución que apliqué y funcionó en mi caso:

1- Instalar dependencias:

yum install openmotif libXmu libXp libXmu-devel php-odbc unixODBC.i386

2- Buscar y descargar la aplicación iSeriesAccess 7 desde el sitio web de IBM en RPM.

3- Instalar iSeriesAccess 7:

rpm -ivh --nodeps iSeriesAccess-7.1.0-1.0.i386.rpm

4- Agregar en /etc/odbc.ini, en la opción System debe ir la dirección IP del servidor IBM:

[as400]
Description = example database connection
Driver = iSeries
System = 172.16.2.2

5- Agregar en /etc/odbcinst.ini

[iSeries]
Description = iSeries Access for Linux ODBC Driver
Driver = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Setup = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so
#Driver64 = /opt/ibm/iSeriesAccess/lib64/libcwbodbc.so
#Setup64 = /opt/ibm/iSeriesAccess/lib64/libcwbodbcs.so
Threading = 2
DontDLClose = 1
UsageCount = 1

Después de estos sencillos cambios PHP podrá conectarse hacia el IBM y realizar consultas sql.

Si queremos probar la conectividad desde la línea de comandos podemos ejecutar lo siguiente:

isql -v as400 usuario contraseña

Donde:

isql -v es el ejecutable de unixodbc
as400 es el nombre de la conección declarado en /etc/odbc.ini
usuario es el nombre de usuario para conectarse a la base de datos
contraseña es la contraseña utilizada para conectarse a la base de datos

Si todo este bién, en consola se nos deberá mostrar algo similar a esto:

+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+