Installation and Configuration of the Single-Tier "Express" Edition ODBC Driver for Informix Data Sources, for Mac OS X
Review Preinstallation Documentation: Pre-Installation Requirements
Installation
Note: The software must be installed as a user with Administrative privileges on the machine.- The Single-Tier "Express" Edition ODBC Driver for Informix Data Sources is distributed as a Disk Image (.dmg) file:
- Double-click the disk image 'mul6einf.dmg' to access the installer .mpkg file:
- Double-click the .mpkg file to run the installer and follow the instructions to complete the installation:
- This is the Welcome dialog for the
OpenLink ODBC Driver for Informix (Express Edition):
- Review the Read Me file for installation requirements and known issues:
- Read the Software License Agreement before continuing your installation:
- Select a destination volume for the driver installation:
- Choose to perform a custom or default installation of the driver:
- If you chose the custom option, select which of the following components to install:
- Note: The Software must be installed as a user with Administrative privileges on the machine:
- After the driver has been installed, you will be prompted for a license file.
If a license file already exists on the machine select the 'use existing file' option.
A trial (try) or full (buy) license can be obtained by selecting the 'try and buy' option which loads the online try and buy web page:
- To obtain the trial license you must be a registered user on the
OpenLink Web site and login with the username (e-mail address) and password for that user. Click on the 'Shop' link to visit the online shop cart to purchase a full license if required:
- Click on the 'download license' button to obtain an immediate license file and save it to your desktop.
Alternatively, mail can be sent to your e-mail address with a link to your
OpenLink Data Space (ODS). Here, all trial and full license files will be stored in a specialized Briefcase for download at a later date.
- Select the license file that you want to use for the installation:
- The installation is complete:
Configuration
- To configure an ODBC DSN, run the
OpenLink iODBC Administrator located in the /Applications/iODBC folder:
- Click the Add button:
- Select the
OpenLink Informix Driver (Express Edition) v6.0 from the list of available drivers. Select the Unicode version of the driver if and only if you are working with multi-byte character sets, as unnecessary translations can significantly affect ODBC performance:
- Provide a suitable DSN name and optional description for the Data Source:
- The Connection Tab takes the minimum parameters required to make a connection to the target database:
- Host - The hostname of the server on which Informix is running
- Port - The port on which the Informix instance listens
- Database - The name of a valid database
- Database Server - The name of the Informix Server
- User name - A valid Informix user
- The advanced button displays additional optional parameters that can be configured.
Name Description vIfxLOBCACHE Determines the buffer size for large object data that is fetched from the database server Possible values are: 1) Numbers greater than zero. The maximum number of bytes is allocated in memory to hold the data. If the data size exceeds the LOBCACHE value, the data is stored in a temporary file. If a security violation occurs during creation of this file, the data is stored in memory. 2) Zero. The data is always stored in a file. If a security violation occurs, the driver makes no attempt to store the data in memory. 3) A negative number. The data is always stored in memory. If the required amount of memory is not available, an error occurs. IfxPDQPRIORITY Determines the degree of parallelism used by the database server. IfxIFX_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. IfxPSORT_NPROCS Enables the database server to improve the performance of the parallel-process sorting package by allocating more threads for sorting. IfxDBCENTURY Enables you to specify the appropriate expansion for one- or two-digit year DATE values. IfxSQLH_FILE Example: http://host-name:port-number/sqlhosts.ius or file://D:/local/myown/sqlhosts.ius IfxLDAP_IFXBASE Example: Informix-base-DN IfxLDAP_URL Example: ldap:host-name:port-number IfxBIG_FET_BUF_SIZE In IBM Informix Extended Parallel Server Version 8.4, overrides the default size of the tuple buffer and allows it to be increased up to 2GB. IfxFET_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. IfxIFXHOST_SECONDARY Sets the secondary host name or host IP address for HDR connection redirection IfxINFORMIXCONTIME 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. IfxIFX_ISOLATION_LEVEL Sets the value of Informix-specific variable IFX_ISOLATION_LEVEL. Possible values: 1) '1' - Dirty Read (equivalent to TRANSACTION_READ_UNCOMMITTED), 2) '2' - Committed Read (equivalent to TRANSACTION_READ_COMMITTED), 3) '3' - Cursor Stability (equivalent to TRANSACTION_READ_COMMITTED), 4) '4' - Repeatable Read (equivalent to TRANSACTION_REPEATABLE_READ) IfxPROXY Specifies an HTTP proxy server. IfxPSORT_DBTEMP Specifies one or more directories to which the database server writes the temporary files it uses when performing a sort. IfxDBUPSPACE Specifies the amount of system disk space that the UPDATE STATISTICS statement can use when it simultaneously constructs multiple-column distributions. IfxDBSPACETEMP Specifies the dbspaces in which temporary tables are built. IfxPATH Specifies the directories that should be searched for executable programs. IfxGL_DATE Specifies the end-user formats of values in DATE columns This variable is supported in Informix database server versions 7.2x, 8.x, 9.x, and 10.x. IfxDBDATE Specifies the end-user formats of values in DATE columns supported for backward compatibility; GL_DATE is preferred. IfxDBTEMP Specifies the full pathname of the directory into which you want IBM Informix Enterprise 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. IfxOPTCOMPIND Specifies the join method that the query optimizer uses. IfxCLIENT_LOCALE Specifies the locale of the client that is accessing the database. Provides defaults for user-defined formats such as the GL_DATE format. User-defined data types can use it for code-set conversion. Together with the DB_LOCALE variable, the database server uses this variable to establish the server processing locale. The DB_LOCALE and CLIENT_LOCALE values must be the same, or their code sets must be convertible. IfxDB_LOCALE Specifies the locale of the database. The IBM Informix JDBC Driver uses this variable to perform code-set conversion between Unicode and the database locale. Together with the CLIENT_LOCALE variable, the database server uses this variable to establish the server processing locale. The DB_LOCALE and CLIENT_LOCALE values must be the same, or their code sets must be convertible. IfxINFORMIXCONRETRY 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. IfxPLCONFIG Specifies the name of the configuration file used by the high-performance loader. IfxPLOAD_LO_PATH Specifies the pathname for smart-large-object handles (which identify the location of smart large objects such as BLOB, CLOB, and BOOLEAN data types). The driver does not use this variable. It just passes the value to the server. IfxPORTNO_SECONDARY Specifies the port number of the secondary database server in an HDR pair. The port number is listed in the /etc/services file. IfxOPT_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. IfxINFORMIXSERVER_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 IfxINFORMIXOPCACHE Specifies the size of the memory cache for the staging-area blobspace of the client application. IfxINFORMIXSTACKSIZE Specifies the stack size, in kilobytes, that the database server uses for a particular client session. IfxJDBCTEMP Specifies where temporary files for handling smart large objects are created. You must supply an absolute path. IfxIFX_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: 1) ON External optimizer directives accepted, 2) OFF External optimizer directives not accepted, 3) 1 External optimizer directives accepted, and 4) 0 External optimizer directives not accepted. IfxIFX_LOCK_MODE_WAIT The default value is 0 (do not wait for the lock). Sets the value of Informix-specific variable IFX_LOCK_MODE_WAIT. Possible values: 1d) '-1' WAIT until the lock is released, 2) '0' DO NOT WAIT, end the operation, and return with error, and 3) 'nn' WAIT for nn seconds for the lock to be released. IfxIFX_CODESETLOB The value of this variable determines whether code-set conversion is done in memory 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. IfxSECURITY Uses 56-bit encryption to send the password to the server. If 'PASSWORD' is specified, the user-provided password is encrypted using 56-bit encryption when it is passed from the client to the database server. There is no default setting. The setting is supported in 7.31, 8.3+, and 9.x and later versions of the Informix database server. IfxSQLH_TYPE When set to 'FILE', specifies that database information (such as host-name, port-number, user, and password) is specified in a sqlhosts file. When set to 'LDAP', specifies that this information is specified in an LDAP server IfxENABLE_HDRSWITCH When set to 'true', secondary server properties are used to connect to the secondary server in an HDR pair, if the primary server is unavailable. IfxDBANSIWARN When set to 1, checks for Informix extensions to ANSI-standard syntax. IfxIFX_USEPUT When set to 1, enables bulk inserts. IfxSTMT_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. IfxUSEV5SERVER When set to 1, specifies that the Java program is connecting to an IBM Informix OnLine 5.x or IBM Informix SE 5.x or IBM Informix SE 7.x database server. This environment variable is mandatory, if you are connecting to an IBM Informix OnLine 5.x or IBM Informix SE 5.x or IBM Informix SE 7.x database server. IfxNODEFDAC When set to YES, prevents default table and routine privileges from being granted to the PUBLIC user when a new table or routine is created in a database that is not ANSI compliant. Default is NO. IfxDELIMIDENT When set to true, specifies that strings set off by double quotes are delimited identifiers. IfxLDAP_PASSWD A valid LDAP password IfxLDAP_USER A valid LDAP username IfxSQLH_LOC When used in conjunction with other LDAP keywords, the SQLH_LOC keyword indicates where an LDAP lookup should occur. SQLH_LOC can have a value of either CLIENT or PROXY. If the value is CLIENT, the driver performs the LDAP lookup on the client side. If the value is PROXY, the proxy performs the lookup on the server side. If no value is specified, the driver uses CLIENT as the default value.
- Host - The hostname of the server on which Informix is running
- Click continue to proceed to the Options tab.
This tab contains optional parameters that are not required for basic ODBC connectivity:
- Row Buffer Size - This attribute specifies the number of records to be transported over the network in a single network hop.
Values can range from 1 to 99.
- Hide Login Dialog - Suppresses the ODBC "Username" and "Password" login dialog boxes when interacting with your ODBC DSN from within an ODBC compliant application.
- Read Only connection - Specifies whether the connection is "Read-only." Make sure the checkbox is unchecked to request a "Read/Write" connection.
- Drop Catalog from Meta calls - Enable this option to have the catalog name not appear for tables, views, and procedures when requesting database meta-data.
- No support of quoted identifier - If set, the call
SQLGetInfo for 'SQL_IDENTIFIER_QUOTE_CHAR' will return a space (" "). It can be used if the DBMS doesn't support quoted SQL like select * from "account."
- Drop Schema from Meta calls - Enable this option to have the schema-name not appear for tables, views, and procedures when requesting database meta-data.
- SQLStatistics disabled - Check this box to have SQLStatistics() return an empty resultset.
Use this if the underlying database does not support retrieval of statistics about a table (e.g.
what indexes it has).
- No support of search string escape - If set, the call
SQLGetInfo for 'SQL_LIKE_ESCAPE_CLAUSE' will return a space (" "). It can be used if the DBMS doesn't support SQL escape patterns.
- Patch of NULL size of SQL_CHAR - If set, this option overrides the size of SQL_CHAR column type returned by the database with the value set in the text box (in bytes).
With a default value of 0, the driver uses the size returned by the database.
- SQL_DBMS Name - Manually overrides the
SQLGetInfo(SQL_DBMS_NAME) response returned by the driver. This is required for products like Microsoft InfoPath for which the return the value should be "SQL Server".
- Row Buffer Size - This attribute specifies the number of records to be transported over the network in a single network hop.
Values can range from 1 to 99.
- Click continue to proceed to the Preferences tab.
This tab contains optional parameters that are not required for basic ODBC connectivity:
- Initialization SQL - Lets you specify a file containing SQL statements that will be run automatically against the database upon connection.
- Cursor Sensitivity - Enables or disables the row version cache used with dynamic cursors.
When dynamic cursor sensitivity is set high, the Cursor Library calculates checksums for each row in the current rowset and compares these with the checksums (if any) already stored in the row version cache for the same rows when fetched previously.
If the checksums differ for a row, the row has been updated since it was last fetched and the row status flag is set to SQL_ROW_UPDATED.
The row version cache is then updated with the latest checksums for the rowset.
From the user's point of view, the only visible difference between the two sensitivity settings is that a row status flag can never be set to SQL_ROW_UPDATED when the cursor sensitivity is low.
(The row status is instead displayed as SQL_ROW_SUCCESS.) In all other respects, performance aside, the two settings are the same.
Deleted rows don't appear in the rowset.
Updates to the row since the row was last fetched are reflected in the row data, and inserted rows appear in the rowset, if their keys fall within the span of the rowset.
If your application does not need to detect the row status SQL_ROW_UPDATED, you should leave the 'High Cursor Sensitivity' checkbox unchecked, as performance is improved.
The calculation and comparison of checksums for each row fetched carries an overhead.
If this option is enabled, the table oplrvc must have been created beforehand using the appropriate script for the target database.
- Max Rows Override - Allows you to define a limit on the maximum number of rows to be returned from a query.
The default value of 0 means no limit.
- Disable Autocommit - Changes the default commit behaviour of the
OpenLink driver. The default mode is AutoCommit (box unchecked).
- Disable Rowset Size Limit - Disables a limitation enforced by the cursor library.
This limitation is enforced by default.
It prevents the driver from claiming all available memory in the event that a resultset generated from an erroneous query is very large.
The limit is normally never reached.
- Defer fetching of long data - Defers fetching of LONG (BINARY, BLOB etc.) data unless explicitly requested in a query.
This provides significant performance increases when fields in query do not include LONG data fields.
- Multiple Active Statements Emulation - Enables use of Multiple Active statements in an ODBC application even if the underlying database does not allow this, as it is emulated in the driver.
- Initialization SQL - Lets you specify a file containing SQL statements that will be run automatically against the database upon connection.
- Click on the 'Test Data Source' button to make a connection to the database to verify connectivity:
- Enter a valid username and password for the database:
- A successful connection to the database has been made:
Next...
- Test your DSNs with our sample program.
- If anything isn't working as you expect, including errors resulting from the test above, see our Troubleshooting Resources.
- Should you decide to purchase a commercial license at the end of your evaluation period, be sure to consult our documentation which explains the placement and uptake of commercial license files and the use of our
OpenLink License Manager technology: License Technology & Application.
Referenced by...