Informix® environment variables with the Informix® JDBC Driver
The following table lists most of the HCL Informix® environment variables supported by the client JDBC driver. For server-side JDBC, use property settings in the database URL rather than setting environment variables, because the environment variables would apply to all programs running in the database server. For more information about properties, see Specify properties.
Supported Informix® environment variables | Description |
---|---|
APPENDISAM | When set to TRUE , the APPENDISAM environment
variable appends the ISAM Error code and message (if present) to the
SQL Exception message, which is shown when .toString() or .getMessage() of
an SQL Exception is called. The exception message is shown in the
following format:<INFORMIX ERROR MESSAGE> (<INFORMIX CODE>) ISAM error: <ISAM MESSAGE>(<ISAM CODE>) |
AUTO_CASE_SCHEMA | To instruct JDBC to automatically case schema (default = true) or when set to false, to return the schema as it was saved. |
CSM | To specify that Communication Support Module is to be used. Informix® JDBC
Driver 3.0 and later supports an encryption CSM.
For more information, see Encryption options.
Note: Support for Communication Support Module (CSM) is removed starting Informix Server 14.10.xC9 .
You should use Transport Layer Security (TLS)/Secure Sockets Layer (SSL) instead. |
DBANSIWARN | When set to 1 , checks for Informix® extensions to ANSI-standard syntax |
DBSPACETEMP | Specifies the dbspaces in which temporary tables are built |
DBTEMP | Specifies the full path name of the directory into which you want gateway
products to place their temporary files and temporary tables. The driver does not use this variable; it just passes the value to the server. |
DBUPSPACE | Specifies the amount of disk space and memory that the UPDATE STATISTICS statement can use for sorting rows when it constructs multiple-column distributions, whether to sort with indexes, and whether to save the plan for calculating the column distributions in the sqexplain.out file. |
DELIMIDENT | When set to Y , specifies that
strings set off by double quotation marks are delimited identifiers |
ENABLE_TYPE_CACHE | When
set to TRUE , caches the data type information for
opaque, distinct, or row data types. When a Struct or SQLData object inserts data into a column and getSQLTypeName() returns the type name, the driver uses the cached information instead of querying the database server. |
ENABLE_HDRSWITCH | When set to TRUE , secondary server
properties are used to connect to the secondary server if the primary
server is unavailable. |
FET_BUF_SIZE | Overrides the default setting for the size of the
fetch buffer for all data except large objects. The default size is 4096 bytes. This variable is not supported in server-side JDBC. |
IFX_AUTOFREE | When set to 1 , specifies that
the Statement.close() method does not require a
network round trip to free the database server cursor resources if
the cursor has already been closed in the database server. The database server automatically frees the cursor resources after the cursor is closed, either explicitly by the ResultSet.close() method or implicitly through the OPTOFC environment variable. After the cursor resources have been freed, the cursor can no longer be referenced. For more information, see The Auto Free feature. |
IFX_BATCHUPDATE_PER_SPEC | When set to 1 (the default), returns
the number of rows affected by the SQL statements executed in a batch
operation by the executeBatch() method |
IFX_CODESETLOB | If set to a number greater than or equal to 0, automates code-set conversion for TEXT and CLOB data types between client and database locales. The value of this variable determines whether code-set conversion is done in memory in or in temporary files. If set to 0, code-set conversion uses temporary files. If set to a value greater than 0, code-set conversion occurs in the memory of the client computer, and the value represents the number of bytes of memory allocated for the conversion. For more information, see Convert with the IFX_CODESETLOB environment variable. |
IFX_DIRECTIVES | Determines whether the optimizer allows query optimization directives from within a query. This variable is set on the client. The driver does not use this variable; it just passes the value to the server. |
IFX_EXTDIRECTIVES | Specifies whether the query optimizer allows external
query optimization directives from the sysdirectives system
catalog table to be applied to queries in existing applications. The
default is OFF . Possible values:
|
IFX_GET_SMFLOAT_AS_FLOAT | When set to 0 (the default), maps the Informix® SMALLFLOAT data type to the JDBC REAL data
type. This setting conforms to the JDBC specification. When set to 1 , maps the
Informix® SMALLFLOAT data type to the JDBC
FLOAT data type. This setting enables compatibility with earlier versions of Informix® JDBC
Driver. |
IFX_ISOLATION_LEVEL | Defines the degree of concurrency among processes that attempt to access the same
rows simultaneously. Gets the value of theIFX_ISOLATION_LEVEL variable, which
is specific to Informix®. The default value is
2 (Committed Read). If the value has been set explicitly, it returns the set value.
Returns: integer.Sets the value of the IFX_ISOLATION_LEVEL variable, which
is specific to Informix®. Possible values:
Specifying U after the mode means retain update locks. (See the Important note
following table.) For example, a value could be: The following example shows the code that you would use to specify an isolation level:
|
IFX_FLAT_UCSQ | Overrides the global setting and directs the optimizer
to use subquery flattening for all sessions. Default value is 1 . |
IFX_LO_READONLY | Controls how smart large objects are opened by the database server during a query
by a client application:
|
IFX_LOCK_MODE_WAIT | Application can use this property to override the default server process for
accessing a locked row or table. Gets the value of the IFX_LOCK_MODE_WAIT variable, which is
specific to Informix®. The default value is 0
(do not wait for the lock). If the value has been set explicitly, it returns the set value. Returns:
integer. Sets the value of the IFX_LOCK_MODE_WAIT variable, which is specific to Informix®. Possible values:
|
IFX_PAD_VARCHAR | Controls how data associated with a VARCHAR data type is transmitted to and from
the Informix® server. Can be set either on the
connection URL when using the Connection class or as a property when using the DataSource
class. Valid values are 0 (the default) and 1 .
|
IFX_SET_FLOAT_AS_SMFLOAT | When set to 0 (the default), maps the JDBC FLOAT data type to
the Informix® FLOAT data type. This setting
conforms to the JDBC specification. When set to 1 , maps the JDBC FLOAT data type to
the Informix® SMALLFLOAT data type. This
setting enables compatibility with earlier versions of Informix® JDBC
Driver. |
IFX_SOC_KEEPALIVE | When set to true , sets the TCP property SO_KEEPALIVE on the
socket for open connections. This setting is useful to keep long running idle socket connections
from timing out due to inactivity. Default is false . |
IFX_TRIMTRAILINGSPACES | Removes trailing spaces. Default value is 1 . |
IFX_USEPUT | When set to 1 , enables bulk inserts.
For more information, see Perform bulk inserts. |
IFX_XASPEC | When set to y , XA transactions
with the same global transaction ID are tightly coupled and share
the lock space. This only applies to XA connections and cannot be
specified in a database URL. It can be specified by DataSource setter
(See DataSource extensions.) or by setting
a System (JVM) property with the same name. The DataSource property
overrides the System property. Values for the properties other than y , Y , n ,
or N are ignored. IfxDataSource.getIfxIFX_XASPEC
returns the final IFX_SPEC value, which is either y or n .
For example if the value of DataSource IFX_XASPEC equals n and
the value of the System IFX_XASPEC equals Y or y , n is
returned. |
IFX_XASTDCOMPLIANCE_XAEND | Specifies the behavior of XA_END when XA_RB* is
returned.
|
IFXHOST | Sets the host name or host IP address |
IFXHOST_SECONDARY | Sets the secondary host name or host IP address for HDR connection redirection |
INFORMIXCONRETRY | Specifies the maximum number of additional connection attempts that can be made to each database server by the client during the time limit specified by the value of INFORMIXCONTIME |
INFORMIXCONTIME | Sets the timeout period for an attempt to connect
to the database server. If a connection attempt does not succeed in
this time, the attempt is aborted and a connection error is reported.
The default value is 0 seconds. This variable adds
timeouts for blocking socket methods and for socket connections. |
INFORMIXOPCACHE | Specifies the size of the memory cache for the staging-area blobspace of the client application |
INFORMIXSERVER | Specifies the default database server to which an explicit or implicit connection
is made by a client application. Note: This parameter is optional for simple connections (connections
that do not use a SQLHOST file) since 4.10.JC4. |
INFORMIXSERVER_SECONDARY | Specifies the secondary database server in an HDR pair to which an explicit or implicit connection is made by a client application if the primary database server is unavailable. |
INFORMIXSTACKSIZE | Specifies the stack size, in kilobytes, that the database server uses for a particular client session. |
JDBCTEMP | Specifies where temporary files for handling smart large objects are created. You must supply an absolute path name. |
LOBCACHE | Determines the buffer size for large object data
that is fetched from the database server Possible values are:
|
LOGINTIMEOUT | Determines whether the Informix® database server is running. If the server is running a connection to the server is established immediately. If the server is not running, this environment variable specifies how long, in milliseconds, that the server port is polled to establish a connection. If your application does not connect to the Informix® database server within the specified time, an error is returned. |
METADATA_UPPERCASE_VALUES | Used to uppercase the ResultSet Metadata. When set to true, it returns ResultSet Metadata information in uppercase. This parameter is optional. |
NEWNLSMAP | Allows
new mappings to be defined between NLS and Java development kit locales
and code sets. For more information, see User-defined locales. |
NODEFDAC | Prevents the PUBLIC group from receiving table
or routine privileges by default when new tables or UDRs are created
in a database that was not created WITH LOG MODE ANSI. The required yes setting
is case sensitive. |
OPT_GOAL | Specifies the query performance goal for the optimizer. Set this variable in the user environment before you start an application. The driver does not use this variable; it just passes the value to the server. |
OPTCOMPIND | Specifies the join method that the query optimizer uses |
OPTOFC | When set to 1, the ResultSet.close() method does not require a network round trip if all the qualifying rows have already been retrieved in the clients tuple buffer. The database server automatically closes the cursor after all the rows have been retrieved. Informix® JDBC Driver might not have additional rows in the clients tuple buffer before the next ResultSet.next() method is called. Therefore, unless Informix® JDBC Driver has received all the rows from the database server, the ResultSet.close() method might still require a network round trip when OPTOFC is set to 1. |
PATH | Specifies the directories that are to be searched for executable programs |
PDQPRIORITY | Determines the degree of parallelism used by the database server |
PORTNO_SECONDARY | Specifies the port number of the secondary database server in an HDR pair. The port number is listed in the /etc/services file. |
PROXY | Specifies an HTTP proxy server. For more information, see An HTTP proxy server. |
PSORT_DBTEMP | Specifies one or more directories to which the database server writes the temporary files it uses when performing a sort |
PSORT_NPROCS | Enables the database server to improve the performance of the parallel-process sorting package by allocating more threads for sorting |
SECURITY | Uses 56-bit encryption to send the password to the server. For more information, see Password encryption. |
SQLH_TYPE | When set to FILE, specifies that database information (such as
host-name, port-number,
user, and password) is specified in an
sqlhosts file. When set to LDAP, specifies that this information is specified
in an LDAP server. For more information, see Dynamically reading the Informix sqlhosts file.
Note: Starting Informix JDBC Driver version 4.50.JC10, the use of LDAP to retrieve Informix server
connectivity information from a stored SQLHost files inside of an LDAP server has been
removed. |
SQLIDEBUG | Specifies the path name for the file to which a binary SQLI trace is to be written. A new trace file is generated for every connection and is suffixed with timestamp. Only use the SQLI trace facility when directed by the technical support representative. |
SRV_FET_BUF_SIZE | Overrides the default setting for the size of the fetch buffer in distributed transactions with other database servers. That fetch buffer holds, for example, the data retrieved by a cross-server distributed query. For HCL Informix® 11.70.xC5 and later versions, the maximum value is 1048576 (1MiB). |
SSLCONNECTION | When set to true, enables the connection to use SSL encryption for communication to the server. |
SSL_TRUSTSTORE | Specifies the location of the truststore to load by the JDBC driver. |
SSL_TRUSTSTORE_PASSWORD | Specifies the password to the truststore that is being loaded by the JDBC driver. |
STMT_CACHE | When set to 1, enables the use of the shared-statement
cache in a session. This feature can reduce memory consumption and speed query processing among different user sessions. The driver does not use this variable; it just passes the value to the server. |
TRUSTED_CONTEXT | When
set to TRUE , a trusted connection request is sent
from client. Either a successful trusted connection is established
or the following error is returned from the server: SQL Exception
: -28021(Trusted Connection request rejected.) |
For a detailed description of a particular environment variable, see Informix® Guide to SQL: Reference.
Code example IFX_LOCK_MODE_WAIT environment variable
Connection conn = DriverManager.getConnection ( "jdbc:Informix-sqli://cleo:1550:
IFXHOST=cleo;PORTNO=1550;user=rdtest;password=my_passwd;IFX_LOCK_MODE_WAIT=1";);
Code example IFX_ISOLATION_LEVEL environment variable
Connection conn = DriverManager.getConnection( "jdbc:Informix-sqli://cleo:1550:
IFXHOST=cleo;PORTNO=1550;user=rdtest;password=my_passwd;IFX_ISOLATION_LEVEL=1U";);
Code example IFX_ISOLATION_LEVEL environment variable
Connection conn = DriverManager.getConnection( "jdbc:informix-sqli://localhost:9088
/csdk_db:user=informix;password=inform123;LOGINTIMEOUT=60000";);