Hola a tod@s!!!
veamos estoy instalando CentOS 5 x86_64 en un servidor Dell PowerEdge 2950, la instalación como siempre, el problema que me encuentro es al instalar el drivers iSeriesAccess (iSeriesAccess-5.4.0-1.4.i386.rpm) para realizar consulta a un AS-400 a través ODBC - PHP.
La instalación del driver se ha instalado correctamente pero cuando empiezo utilizarlo aparece el siguiente error:
isql -v prueba [01000][unixODBC][Driver Manager]Can't open lib '/opt/ibm/iSeriesAccess/lib/libcwbodbc.so' : /opt/ibm/iSeriesAccess/lib/libcwbodbc.so: wrong ELF class: ELFCLASS32 [ISQL]ERROR: Could not SQLConnect
en los ficheros de configuración de odbc tengo lo siguiente:
############# ### odbc.ini #### ############
[prueba] Description = iSeries Access ODBC Driver Driver = iSeries Access ODBC Driver System = xxx.xxx.xxx.xxx UserID = usuario Password = contraseña Naming = 0 DefaultLibraries = QGPL DefaultLibraries = PMNTESTLIB,PMNDTA,SFBF,AWTLIB,AWTDTA Database = CHERRYWEB ConnectionType = 0 CommitMode = 2 ExtendedDynamic = 0 DefaultPkgLibrary = QGPL DefaultPackage = A/DEFAULT(IBM),2,0,1,0,512 AllowDataCompression = 0 LibraryView = 0 AllowUnsupportedChar = 0 ForceTranslation = 0 Trace = 0
############# ###odbcinst.ini### #############
[PostgreSQL] Description = ODBC for PostgreSQL Driver = /usr/lib/libodbcpsql.so Setup = /usr/lib/libodbcpsqlS.so FileUsage = 1
[iSeries Access ODBC Driver] Description = iSeries Access for Linux ODBC Driver Driver = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so Setup = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so NOTE1 = If using unixODBC 2.2.11 or later and you want the 32 and 64-bit ODBC drivers to share DSN's, NOTE2 = the following Driver64/Setup64 keywords will provide that support. #Driver64 = /opt/ibm/iSeriesAccess/lib64/libcwbodbc.so #Setup64 = /opt/ibm/iSeriesAccess/lib64/libcwbodbcs.so
Threading = 2 DontDLClose = 1 UsageCount = 1
###################### ### /opt/ibm/iSeriesAccess/lib ### ######################
# ls -l -r-xr-xr-x 1 root root 975884 may 23 19:19 libcwbcore.so -r-xr-xr-x 1 root root 729284 may 23 19:19 libcwbodbc.so -r-xr-xr-x 1 root root 16636 may 23 19:19 libcwbodbcs.so -r-xr-xr-x 1 root root 94504 may 23 19:19 libcwbrc.so -r-xr-xr-x 1 root root 438373 may 23 19:19 libcwbxda.so
ls -l /opt/ibm/iSeriesAccess/lib/libcwbodbc.so -r-xr-xr-x 1 root root 729284 may 23 19:19 /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Lo único raro es que es ha instalado el unixODBC en ambas arquitecturas, pienso que es normal que ahí no se encuentra el error.
unixODBC-2.2.11-7.1 unixODBC-2.2.11-7.1 unix2dos-2.2-26.2.2 unixODBC-devel-2.2.11-7.1 dos2unix-3.1-27.1 unixODBC-devel-2.2.11-7.1
#odbc_config --version 2.2.11 #odbc_config --static-libs /usr/lib64/libodbc.a # odbc_config --libtool-libs /usr/lib64/libodbc.la # odbc_config --libs -L/usr/lib64 -lodbc
odbcinst -j unixODBC 2.2.11 DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini USER DATA SOURCES..: /root/.odbc.ini
Tengo un problema simalar esta persona: http://www.ibm.com/developerworks/forums/dw_thread.jsp?message=13904607&...
Estoy pensando que si no lo consigo con el sistema x86_64, tendré que instalar el sistema i386 o sino pasar al sistema Debian que si lo tengo funcionando pero que no me gusta la idea.
Bueno, alguien que me pueda dar alguna pista.
Gracias por todo. Un saludo.
PD: he probado copiar los archivos al directorio /usr/lib64