When configuring an Informix database agent the critical configuration items are:
stores7
", which identifies the actual Informix database file that you want to be connected with.
This is the value that you enter into the "Database Name" field of either your Admin Assistant's database agent configuration form or wizard dialog.
If you choose to have database identification take place at the client rather than server, you enter this value into the "Database Name" field or connection attribute when configuring the Generic Client.Informix provides a number of environment variables for configuring database clients. The basic set required for successfully connecting your database agent to an Informix database server is tabulated below:
Table: 1. Default Rule Book settings
Rule Book Section and Parameters | Default Rule Book Settings | Notes |
---|---|---|
[Environment INFORMIX5] | Informix 5 Agent environment settings | |
INFORMIXDIR | /dbs/informix5 | Full path to the base directory for the Informix 5 installation. |
TBCONFIG
| tbconfig | Database server configuration file |
FORCE_ONLINE_DATABASE
| 1 | Force mode: 0 for Standard Engine (SE); 1 for ONLINE |
[Environment INFORMIX6] | ||
INFORMIXDIR
| /dbs/informix6 | Full path to the base directory for the Informix 6 installation. |
[Environment INFORMIX7] | ||
INFORMIXDIR
| /dbs/informix7 | Full path to the base directory for the Informix 7 installation. |
INFORMIXSERVER
| online7 | The name of the Informix 7 server that you want the agent to attach to. As long as you have I-Connect or I-Net installed, configured, and up-and-running, this value can connect your database agent with remote Informix database servers. |
ONCONFIG
| ONCONFIG | Database server configuration file |
FORCE_ONLINE_DATABASE
| 1 | Force mode: 0 for Standard Engine (SE); 1 for ONLINE |
DELIMIDENT
| Y | This will allow quoted identifiers to be handled. |
OPL_INF_MULTISESS
| Y | Enables Informix multisession mode. When active (Y ), each ODBC connection gets its own database session. When inactive (N ), all ODBC connections share one database connection. |
OPL_SPACEPADCHAR
| Y | When active (Y ), character data from a CHAR column is fetched with trailing spaces retained. The column data is padded up to the column width. When inactive (N ), trailing spaces are stripped off. |
Due to the fact that older Informix versions leave username and password verification to the host operating system, it is possible to close what could be an ODBC, UDBC, JDBC, OLE DB, or ADO.NET security loophole by utilizing the database agent "
" facility which can be enabled through the Admin Assistant.
By enabling this feature your Informix database agent will verify user accounts at the operating system level before attempting to connect to your Informix database.
It is important to note that "super-user" or Administrator (depending on operating system) privileges are required to successfully use this feature.
This implies that the account that starts the request broker must possess one of the aforementioned system level privileges; on the other hand, these privileges aren't required for your actual
We provide a relinkable library and script files that enable you to rebuild your database agents as shared (as opposed to statically linked) binaries, or for the purposes of getting a closer database implementation fit, should your Informix database environment be a more recent release than the actual version we used to build the database agent installed on your system. Please read the Relinking Database Agents section that follows, for details on how to perform this task.
Note that to run the Informix agents you may require the latest Informix Connect (a free download from the IBM/Informix site); in order to relink them, you require the Client SDK as well.
There may be situations in which you are unable to install the Request Broker and Database Agents on the same machine as the one hosting your Informix database server. Irrespective of the reasons that lead you to this scenario, it is possible to configure the database agents hosted on your Application Server machine such that they connect to a remote Informix database on your Database Server machine using Informix database specific networking (I-Connect or I-Net) as opposed to our Database Independent Networking. The end result is a three-tier distributed architecture in which the communication between Generic Clients and Database Agents use our database independent networking, while the communication between the Informix database agent and the Informix database server uses I-Connect or I-Net (depending on Informix version).
Assuming you have an Informix Database Server machine called "mainserver2
" that has an Informix I-Connect or I-Net server process running (this is set up and configured via the SQLHOSTS
file on the database server machine).
1.
On your Application Server (the machine hosting your database agent) create an I-connect or I-Net Connection Alias called "mainserver2
" (for purpose of this example only) if a working Connection Alias doesn't already exist on this machine.
2. Ensure that you have a usable connection to your remote Informix database using Connection Alias "mainserver2".
3.
Add the following values to the "Database Server Options" field within the Admin Assistant Forms or Wizards used to configure your database agent.
If you choose to set this value on the client simply enter the same value into to the "Database Name" Attribute associated with the configuration of your
mainserver2
You can also set the INFORMIXSERVER
environment variable to "mainserver2
".
Application Server Architecture for various illustrations of distributed client-server architectures supported by
The Informix agent is hard coded with responses to
.
These are affected by the build version:
Table: 8.2.3.5.1.
Parameter | Build Version < 7.x | Build Version > 7.x (eg. 9.x) |
SQL_MAX_CATEGORY_NAME_LEN | 8 | 32 |
SQL_MAX_OWNER_NAME_LEN | 8 | 32 |
SQL_MAX_SCHEMA_NAME_LEN | 18 | 128 |
SQL_MAX_QUALIFIER_NAME_LEN | 18 | 128 |
SQL_EXPRESSIONS_IN_ORDERBY | N | N |
See the Unicode section? for configuration details.