Em algumas instalações podemos validar a conexão ODBC utilizando a ferramenta isql, proveniente do pacote unixODBC. Também é possível testar comandos SQL (executados pela aplicação), a partir dele, isolando assim erros oriundos do driver ODBC. Abaixo seguem os passos utilizados para realizar tal atividade:
Ambiente:
Red Hat Enterprise Linux Server release 5.7 (Tikanga)
IBM/Informix-Client SDK Version 3.70.FC2
x86_64
- Instalar pacote unixODBC do Linux
- Configurar arquivo /etc/odbc.ini (Server deve estar cadastrado em $INFORMIXDIR/etc/sqlhosts):
[logix]
Driver=Informix
Server=logix10soc
Database=v1002t
CLIENT_LOCALE=en_us.8859-1
DB_LOCALE=en_us.8859-1
TRANSLATIONDLL=/opt/informix/lib/esql/igo4a304.so
- Configurar arquivo /etc/odbcinst.ini:
[Informix]
Description=Informix
Driver=/opt/informix/lib/cli/libifcli.so
APILevel=1
ConnectFunctions=YYY
DriverODBCVer=03.00
FileUsage=0
SQLLevel=1
smProcessPerConnect=Y
- Configurar /etc/ld.so.conf:
/opt/informix/lib
/opt/informix/lib/esql
/opt/informix/lib/cli
- Executar:
ldconfig
- Setar variáveis ODBCINI:
export ODBCINI=/etc/odbc.ini
- Setar variável INFORMIXDIR:
export INFORMIXDIR=/opt/informix
- Executar isql (/usr/bin/isql DSN UID PWD):
Ex:
/usr/bin/isql logix informix informix
- Interface:
isql logix informix informix
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> select * from sysusers;
+---------------------------------+---------+---------+-----------------+---------------------------------+
| username | usertype| priority| password | defrole |
+---------------------------------+---------+---------+-----------------+---------------------------------+
| root | D | 9 | | |
| informix | D | 5 | | |
| public | R | 5 | | |
+---------------------------------+---------+---------+-----------------+---------------------------------+
SQLRowCount returns -1
3 rows fetched
SQL> quit