Como instalar o DB2 ODBC?

1

Eu tenho tentado, sem sucesso, instalar um driver ODBC do IBM DB2 para que meu servidor PHP possa se conectar a um banco de dados. Eu tentei instalar o db2_connect e obter todos os tipos de problemas, tentei instalar o I Access para Linux e o RPM não instalou corretamente nem utilizou nenhum resultado útil. Eu também tentei o DB2 Runtime v8.1, sem sucesso.

Se eu tentar executar o rpm, eu preciso de dependências que não posso encontrar no apt-get. O Yum também não é muito útil, pois parece que não tenho repositórios instalados ou listas ...

A execução do RPM simples me fornece esse resultado no terminal:

# rpm -ivh iSeriesAccess-7.1.0-1.0.x86_64.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
error: Failed dependencies:
    /bin/ln is needed by iSeriesAccess-7.1.0-1.0.x86_64
    /sbin/ldconfig is needed by iSeriesAccess-7.1.0-1.0.x86_64
    /bin/rm is needed by iSeriesAccess-7.1.0-1.0.x86_64
    /bin/sh is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libc.so.6()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libc.so.6(GLIBC_2.2.5)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libc.so.6(GLIBC_2.3)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libdl.so.2()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libdl.so.2(GLIBC_2.2.5)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libgcc_s.so.1()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libm.so.6()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libm.so.6(GLIBC_2.2.5)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libodbcinst.so.1()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libodbc.so.1()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libpthread.so.0()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libpthread.so.0(GLIBC_2.2.5)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libpthread.so.0(GLIBC_2.3.2)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    librt.so.1()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    librt.so.1(GLIBC_2.2.5)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libstdc++.so.6()(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libstdc++.so.6(CXXABI_1.3)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64
    libstdc++.so.6(GLIBCXX_3.4)(64bit) is needed by iSeriesAccess-7.1.0-1.0.x86_64

Usando o alien e rodando o dkpg me dá o headaque:

$ alien iSeriesAccess-7.1.0-1.0.x86_64.rpm --scripts
# dpkg -i iseriesaccess_7.1.0-2_amd64.deb
(Reading database ... 127664 files and directories currently installed.)
Preparing to replace iseriesaccess 7.1.0-2 (using iseriesaccess_7.1.0-2_amd64.deb) ...
Unpacking replacement iseriesaccess ...
post uninstall processing for iSeriesAccess 1.0...upgrade
/var/lib/dpkg/info/iseriesaccess.postrm: line 8: [: upgrade: integer expression expected
Setting up iseriesaccess (7.1.0-2) ...
post install processing for iSeriesAccess 1.0...configure
iSeries Access ODBC Driver has been deleted (if it existed at all) because its usage count became zero
odbcinst: Driver installed. Usage count increased to 1.
Target directory is /etc
odbcinst: Driver installed. Usage count increased to 3.
Target directory is /etc
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

Portanto, parece que os arquivos foram instalados corretamente, bem, meu driver odbc aparece, mas o db2cli.ini não é encontrado.

Então, várias perguntas. Existe uma alternativa melhor para conectar o php ao db2, digamos um pacote do ubuntu que eu possa instalar? Alguém pode me direcionar para as etapas que faz com que o meu servidor Ubuntu funcione bem com o RPM para que eu possa construir minha instância db2?

Lembre-se também de que estou conectado remotamente a um I Series. Eu não estou usando o DB2 Express C, mesmo que eu tente fazer com que as funções db2 php funcionem. E eu não tenho zend mas acho que tenho todos os outros pacotes nos repositórios do Ubuntu. Ajuda, obrigado!

    
por JustinKaz 26.05.2011 / 20:50

1 resposta

2

eu faço assim:

1. sudo apt-get install php5-odbc alien

2. alien –i –c iSeriesAccess-6.1.0-1.2.x86_64.rpm

3. nano /etc/odbc.ini

[DATASOURCE NAME] 
Description = iSeries Access ODBC Driver DSN for iSeries 
Driver = iSeries Access ODBC Driver 
System = IP ADDRESS OF YOUR iSERIES 
UserID = 
Password = 
Naming = 0 
DefaultLibraries = QGPL 
Database = YOUR DATABASE
ConnectionType = 0 
CommitMode = 2 
ExtendedDynamic = 0 
DefaultPkgLibrary = QGPL 
DefaultPackage = A/DEFAULT(IBM),2,0,1,0,512 
AllowDataCompression = 1 
LibraryView = 0 
AllowUnsupportedChar = 0 
ForceTranslation = 0 
Trace = 0 
CCSID = 1208 
    
por Deli168 22.07.2011 / 10:13