Question

I am working on configuring the ODBC.ini file to connect to a remote DB from a Debian server. My background is mostly PHP and MySQL, so setting up an ODBC is new to me and would appreciate any help. My understanding is that the every DSN needs to be configured in the ODBC.ini file, and I already have this information.

;---------------------------------------------------------------------------
; IBM INFORMIX ODBC Sample File
;
; File:     odbc.ini
;
;---------------------------------------------------------------------------
[ODBC Data Sources]
Infdrv1=IBM INFORMIX ODBC DRIVER
Infdrv2=IBM INFORMIX ODBC DRIVER
;
; Define ODBC Database Driver's Below - Driver Configuration Section
;
[Infdrv1]
Driver=/extra/informix/lib/cli/iclit09b.so
Description=IBM INFORMIX ODBC DRIVER
Database=stores_demo
LogonID=odbc
pwd=odbc
Servername=ids_server1
[Infdrv2]
Driver=/extra/informix/lib/cli/iclis09b.so
Description=IBM INFORMIX ODBC DRIVER
Database=stores_demo
LogonID=odbc
pwd=odbc
Servername=ids_server2
CursorBehavior=0
CLIENT_LOCALE=en_us.8859-1
DB_LOCALE=en_us.8859-1
TRANSLATIONDLL=/extra/informix/lib/esql/igo4a304.so
;
; UNICODE connection Section
;
[ODBC]
;uncomment the below line for UNICODE connection
;UNICODE=UCS-4
;
; Trace file Section
;
Trace=0
TraceFile=/tmp/odbctrace.out
InstallDir=/extra/informix
TRACEDLL=idmrs09a.so

However, I would like to know if there's a utility or method of testing connectivity after the configuration is done on the client side. There seems to be quite a bit of information on how to do it on Windows, much less of it on Linux. Any help is appreciated.

Was it helpful?

Solution

Before, just a comment. If you want to access Informix with PHP, exists a PDO for that... and you can found tips how install/configure it here, here or here PHP and Informix on Debian - how to install/configure the PDO

I use the "isql" command where I get it with unixODBC rpm (I use opensuse distro).
The official site : http://www.unixodbc.org/
There have some explanations how use it too.
The Informix manual you can found updated information : :http://pic.dhe.ibm.com/infocenter/informix/v121/topic/com.ibm.odbc.doc/ids_odbc_057.htm

To setup the Informix access I just:

  1. set the informix variables (you need the csdk installed)
export INFORMIXDIR=/opt/informix  
export INFORMIXSERVER=ifxtest
export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
export PATH=$INFORMIXDIR/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFORMIXDIR/lib:$INFORMIXDIR/lib/cli:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/tools
  1. create the odbc.ini with the desire configuration.
    set the DNS name (is the Infdrv1 at the example)
    define the driver to path where is installed your csdk define the database, servername, login/passwd (if desire)
  2. export the ODBCINI variable pointing to your odbc.ini file , or create the $HOME/.odbc.ini for specific user.
  3. try connect to the database executing : isql <dns_name> <user> <passwd>

After all configuration above this is my test:

ifxdba1  cinacio@jdi:~
$ isql dba1 informix xxxxxx
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select first 1 * from systables;
+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------+------------+------------+--------+-------+---------+-----------------------+-----------+------------+--------+----------+-----------------------+------------+------------+-------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+--------------------------+------------+----------------+-----------+----------+
| tabname                                                                                                                         | owner                           | partnum    | tabid      | rowsize| ncols | nindexes| nrows                 | created   | version    | tabtype| locklevel| npused                | fextsize   | nextsize   | flags | site                                                                                                                            | dbname                                                                                                                          | type_xid   | am_id      | pagesize   | ustlowts                 | secpolicyid| protgranularity| statchange| statlevel|
+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------+------------+------------+--------+-------+---------+-----------------------+-----------+------------+--------+----------+-----------------------+------------+------------+-------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+--------------------------+------------+----------------+-----------+----------+
| systables                                                                                                                       | informix                        | 1048580    | 1          | 500    | 26    | 2       | 262                   | 2013-06-05| 65539      | T      | R        | 21                    | 16         | 16         | 0     |                                                                                                                                 |                                                                                                                                 | 0          | 0          | 2048       | 2013-06-05 21:28:50.00000| 0          |                |           |          |
+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------+------------+------------+--------+-------+---------+-----------------------+-----------+------------+--------+----------+-----------------------+------------+------------+-------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+--------------------------+------------+----------------+-----------+----------+
SQLRowCount returns -1
1 rows fetched
SQL>

Information of UnixODBC installed at my opensuse...

cinacio@jdi:~
$ rpm -qi  unixODBC
Name        : unixODBC
Version     : 2.2.12
Release     : 219.1.1
Architecture: x86_64
Install Date: Tue 15 Oct 2013 08:18:36 AM BRT
Group       : Productivity/Databases/Tools
Size        : 1700974
License     : GPL-2.0+ ; LGPL-2.1+
Signature   : RSA/SHA256, Sat 26 Jan 2013 01:57:06 PM BRST, Key ID b88b2fd43dbdc284
Source RPM  : unixODBC-2.2.12-219.1.1.src.rpm
Build Date  : Sat 26 Jan 2013 01:56:38 PM BRST
Build Host  : build22
Relocations : (not relocatable)
Packager    : http://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://www.unixodbc.org/
Summary     : ODBC driver manager with some drivers included
Description :
UnixODBC aims to provide a complete ODBC solution for the Linux
platform. Further drivers can be found at http://www.unixodbc.org/.



Authors:
--------
    Peter Harvey <pharvey@codebydesigns.com>
    Nick Gorham <nick@easysoft.com>
Distribution: openSUSE 12.3
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top