Configuration Parameter Descriptions
This section describes the gateway configuration parameters. Defaults refer to settings in CBF/VCBF unless otherwise noted.
blob_data
ii.hostname.gateway.server_class.blob_data: string
Specifies whether memory or a temporary file is used when the gateway processes large object (lob) data.
Default: FILE
Note: When there is no entry for blob_data in config.dat, Enterprise Access uses the FILE option for processing lob data.
empty_date
ii.hostname.gateway.server_class.empty_date: 'date_literal'
Defines the default value that should be substituted when an Empty Date is received from a client. The value will be a valid OpenSQL date literal value enclosed within single quotes. The server's II_DATE_FORMAT and II_DATE_CENTURY_BOUNDARY values are used to perform this conversion.
Default: '01-jan-1900 00:00:00'
Note: When there is no entry for empty_date in config.dat, Enterprise Access uses the default value.
Example:
ii.hostname.gateway.oracle.empty_date: '01-jan-1900 00:00:00'
empty_date_return
ii.hostname.gateway.server_class.empty_date_return: string
Defines the value retuned to the client when the gateway receives an empty date. If a date matches the setting in empty_date, and empty_date_return is set to "empty", an empty Ingres date is returned. If a date does not match the setting in empty_date, then the date is passed through unmodified. If a date does match the setting in empty_date, but empty_date_return is not set to "empty", the date is passed through as the setting in empty_date.
Example:
ii.hostname.gateway.oracle.empty_date_return: 'empty'
gwalias
ii.hostname.gateway.server_class.gwalias.dbalias:
host_dbname,username,password
Specifies the gateway alias that provides the connection information required to access a target DBMS.
Note: This parameter is configured with the Gateway Alias Utility. It is not configured with CBF/VCBF. For configuration procedures, see the chapter
Gateway Configuration Variables.
ignore_date_alias
ii.hostname.gateway.server_class.ignore_date_alias: string
Specifies whether the gateway will allow an Ingres date_alias setting of 'ansidate'.
By default, Enterprise Access only supports an Ingres date_alias setting of 'ingresdate'. If the Ingres date_alias setting is 'ansidate', connections to the gateway will fail with:
E_GC0002 Invalid service request parameter
Gateway expects GCA_DATE_ALIAS='ingresdate'. Invalid or unsupported
GCA_DATE_ALIAS specified ansidate
Connections may be allowed to continue by using one of two options:
1. You may change the date_alias parameter using the iisetres command, as follows:
iisetres ii.machine.config.date_alias value
where machine is the machine name, and value is INGRESDATE.
2. Use CBF to add/modify the EA ignore_date_alias parameter for each gateway host (Oracle, MSSQL, ODBC): Set the value to 'TRUE'.
load_table_qualifier
ii.hostname.gateway.server_class.load_table_qualifier: string
Specifies the DBA (schema) name used to qualify unqualified objects. To enable Ingres 6.4-style applications to function with minimal changes, the gateway allows access to DBA objects in the host DBMS without prefixing the object with the DBA name; that is, in Ingres 6.4, a user can access DBA objects (provided the appropriate grant/permits have been created).
For example, with a table, simply referencing the object eliminates the need to prefix the object with the DBA name. The gateway achieves this by adding the appropriate prefix—that is, the database administrator's schema name—to the object name. When a user accesses an object that is not owned by the user, the gateway prefixes the DBA name to the object's name so that the user may access the object.
Valid values for the load_tabe_qualifier parameter follow:
The USER_PUBLIC parameter may have an impact on performance, particularly for connection times to the gateway. For instance, connecting to an Oracle DBMS server across SQL Net (with a slow network) can be up to 10 times slower when using USER_PUBLIC due to the extra object names that will be cached. However, this performance problem does not usually occur if the gateway server is on the same machine as the host DBMS. The amount of memory used by the gateway is also affected-although not significantly-based on the number of table names being cached by the selected option.
Choosing between the various options for load_table_qualifier should be based on functionality and simple benchmarks (that is, how long does it take to connect to the gateway).
In general, if you have problems with the default setting, do the following:
3. Use the default USER setting if there are a large number of DBA-owned tables compared to the number of user-owned tables.
4. Use the DBA setting if there are a large number of user-owned tables compared to the number of DBA-owned tables (for Oracle, use this option instead of USER_PUBLIC). This option is also useful when accessing tables created using an application with multiple sessions.
5. Use the NONE setting:
• If expecting native DBMS semantics for unqualified objects
• If all SQL queries are fully qualified when querying non-user owned tables
• If using Informix
log_level
ii.hostname.gateway.log_level: string
Specifies the level detail at which the gateways write information to the errlog.log file. Valid values are shown in the following table:
pst_max
ii.hostname.gateway.server_class.pst_max: integer
Specifies the maximum number of open cursors per transaction. If too small a value is chosen, additional overhead is used to process queries. The larger the value specified, the more virtual memory is used by the gateway.
Default: 128 (Microsoft SQL Server and DB2 UDB); 100 (Oracle)
Minimum: 50
Maximum: 255 (Microsoft SQL Server and DB2 UDB); 100 (Oracle)
sqlda_size
ii.hostname.gateway.server_class.sqlda_size: integer
Specifies the default size that the gateway allocates for a sqlda. The sqlda_size determines the maximum number of columns allowed in a select list of a query. If more columns are selected than the value set in sqlda_size, the gateway automatically releases the current sqlda and allocates a new, larger sqlda to handle the query result correctly. The sqlda_size setting should be set to accommodate most queries to save wasted (unused) sqlda memory and to avoid frequent memory deallocations and reallocations.
For example, if an application typically selects more than 50 columns, set sqlda_size to 50 to save the amount of virtual memory used by Enterprise Access.
Default:128
Minimum: 50
Maximum: 255
Note: This parameter has no effect with Oracle, and is treated as if it has a value of 256.
squeeze_len
ii.hostname.gateway.server_class.squeeze_len: integer
Note: This parameter applies to Microsoft SQL Server and DB2 UDB only.
Specifies the output length of the squeeze function. A squeeze_len of zero results in the removal of white spaces only at the front and rear of the squeeze string. None of the white spaces in the middle are removed. In this case, the output length will be no longer than the input string length.
Default: 30
trace_file
ii.hostname.gateway.server_class.trace_file: string
Specifies the name and full path of the trace output file. If the file name contains the string %p, this generates one trace file for each connected session. The gateway slave process id (PID) replaces the %p.
Examples:
Windows
ii.hostname.gateway.server_class.trace_file: 'C:\\EA\\ingres\\files\\my_tracefile%p.log'
The directory separator must be escaped.
UNIX
ii
.hostname.gateway.
server_class.trace_file: /tmp/my_tracefile%p.log
Note: If a value is specified for the trace output file, you must provide a valid path and filename.
If no trace output file is specified, the gateway writes the trace data to a default file based on server class as shown in the following table:
trace_full
ii.hostname.gateway.server_class.trace_full:Boolean
Specifies whether time stamps should be included with each and every trace. This option also includes process ids to help keep track of specific clients. The default is FALSE (full tracing is not enabled).
trace_init
ii.hostname.gateway.server_class.trace_init: {ALL | string}
Specifies a gateway trace be started before the gateway completes its initialization. Valid values are as follows:
The following table lists valid trace identifiers.
The trace_init configuration parameter should only be used if requested by support personnel as its usage adversely affects gateway performance.
varchar_comp
ii.hostname.gateway.server_class.varchar_comp: string
Specifies whether variable-length data types, such as varchar, are compressed when sent to the client from the gateway server. This option can be set to ON or OFF in CBF, or a selected (ON) or unselected (OFF) check box in VCBF.
Default: OFF
Note: This resource is similar to the DBMS server parameter, vch_compression.
typecast_strlen
ii.hostname.gateway.server_class.typecast_strlen: integer
Specifies the default length used when a string type cast is issued without a length specified. Some DBMS vendors require an explicit string result length. The typecast_strlen parameter is used in cases where a length is required by the DBMS, but OpenSQL does not require one.
Example:
The type cast number 99.9 to a varchar string type can be written without a specified length:
SELECT varchar(99.9)
The typecast_strlen parameter setting translates the above cast as:
SELECT varchar(99.9, typecast_strlen)
Default: 30
Minimum: 1
Maximum: Maximum OpenSQL or maximum DBMS supported string length
Note: The length specified by the typecast_strlen parameter is always used if the length is omitted from a string type cast. The numeric value specified will be truncated or expanded to match the typecast_strlen parameter setting.
Example:
typecast_strlen = 5
SELECT varchar('99999.9')
The string type cast number ('99999.9') will be truncated to '99999'.