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:
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