connettersi ad AS400 da Linux
Può essere un bel palo nel sedere. I passaggi da fare sono tanti e le cose che si possono incasinare tantissime; però ce la potete fare (forse).
Innanzitutto installiamo i pacchetti che ci servono:
apt-get install alien unixodbc
Ora scarichiamo il driver iAccess dal sito IBM (serve la registrazione), debianizziamolo e installiamolo:
alien -d -k iSeriesAccess-7.1.0-1.0.x86_64.rpm
dpkg -i iseriesaccess_7.1.0-1.0_amd64.deb
se abbiamo fatto tutto giusto ora il driver dovrebbe essere installato. Registriamolo in ODBC:
odbcinst -i -d -f /opt/ibm/iSeriesAccess/unixodbcregistration64
I file di configurazione rilevanti per UnixODBC sono /etc/odbc.ini e /etc/odbcinst.ini che contengono rispettivamente le definizioni delle DSN e dei drivers. Il file /etc/odbcinst.ini dovrebbe somigliare a questo:
[IBM DB2 ODBC DRIVER] Description=ODBC 5.1 Driver for Database Driver=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so FileUsage=1 [iSeries Access ODBC Driver] Description=iSeries Access for Linux ODBC Driver Driver=/opt/ibm/iSeriesAccess/lib64/libcwbodbc.so Setup=/opt/ibm/iSeriesAccess/lib64/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=3 [iSeries Access ODBC Driver 64-bit] Description=iSeries Access for Linux 64-bit ODBC Driver Driver=/opt/ibm/iSeriesAccess/lib64/libcwbodbc.so Setup=/opt/ibm/iSeriesAccess/lib64/libcwbodbcs.so Threading=2 DontDLClose=1 UsageCount=2
Ora creiamoci una DSN editando il file /etc/odbc.ini:
[ODBC Data Sources]
DEV = DEV[DEV]
Description = iSeries Access ODBC Driver
Driver = iSeries Access ODBC Driver
System = xxx.xxx.xxx.xxx
UserID = xxxxx
Password = xxxxx
Naming = 1
DefaultLibraries = QGPL
Database =
ConnectionType = 2
CommitMode = 2
ExtendedDynamic = 1
DefaultPkgLibrary =
DefaultPackage = A/DEFAULT(IBM),2,0,1,0,512
AllowDataCompression = 1
LibraryView = 0
AllowUnsupportedChar = 1
ForceTranslation = 1
Trace = 0
Non dimentichiamoci di registrare la libreria con:
echo "/opt/ibm/iSeriesAccess/lib64" > /etc/ld.so.conf.d/iSeriesAccess.conf /sbin/ldconfig
Per testare la DSN che abbiamo appena creato usiamo:
Se isql si connette allora è tutto a posto.