This section contains information that is specific to the database type Sybase IQ.
Note!
The Sybase IQ database type requires jConnect v16.0 and later.
Supported Functions
The Sybase IQ database can be used with:
Database Table Related Functions (APL)
APL function sqlexec
Database Collection/Forwarding Agents
Event Notifications
SQL Collection/Forwarding Agents
SQL Loader Agent
Task Workflows Agents (SQL)
Preparations
The Sybase JDBC driver that is included in the SDK has to be downloaded to the Platform in order to connect to a Sybase IQ database from .
You must proceed as follows:
Go to the SAP Software Solutions web page for information about the SDK and included drivers:
https://www.sap.com/index.html.Place the downloaded jar file in the
$MZ_HOME/3pp directory
.Restart the Platform and ECs.
Close Pooled Connections
The APL function closePooledConnections
enables you to close a pooled connection with the Sybase IQ server. This feature helps you eliminate invalid connections.
Note!
This function only closes inactive connections, regardless of how long the connections have been idle.
int closePooledConnections (string dbProfile)
Parameters:
Returned Value | Description |
| The name of the database where the table is stored, preceded by the folder name. |
Example - Using APL function closePooledConnections
persistent int profileUsageCnt; .... if ( profileUsageCnt > 100 ) { closePooledConnections("sybase_iq.mydb"); profileUsageCnt = 0; }
Performance Tuning
The default maximum number of connections on an Execution Context is five. You can tune this number by setting the Execution Context property sybase.iq.pool.maxlimit
in the relevant <pico>.conf
file.
Example - Setting the maximum number of connections for Sybase IQ
$ mzsh topo set topo://container:<container>/pico:<pico name>/val:config.properties.sybase.iq.pool.maxlimit 20
There are two properties available for handling timeout of socket connections and socket threads:
sybase.jdbc.socketread.timeout
with default value 180000 (3 minutes in milliseconds)
sybase.jdbc.socketconnect.timeout
with default value 30000 (30 seconds in milliseconds)
To specify other timeout values, in milliseconds, set the Execution Context properties in the relevant <pico>.conf
file.
Example - Setting the timeout for a socket tied to a Sybase IQ connection
$ mzsh topo set topo://container:<container>/pico:<pico name>/val:config.properties.sybase.jdbc.socketread.timeout 600000 $ mzsh topo set topo://container:<container>/pico:<pico name>/val:config.properties.sybase.jdbc.socketconnect.timeout 20000
Note!
When using the timeout property you must ensure that you set a limit that exceeds your longest running query, otherwise, you might terminate a connection while it is executing a query.