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 EC/ECSAs.
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. |
Code Block |
---|
|
int closePooledConnections
(string dbProfile) |
Parameters:
Returned Value | Description |
dbProfile | The name of the database where the table is stored, preceded by the folder name. |
Info |
---|
title | Example - Using APL function closePooledConnections |
---|
|
Code Block |
---|
| persistent int profileUsageCnt;
....
if ( profileUsageCnt > 100 ) {
closePooledConnections("sybase_iq.mydb");
profileUsageCnt = 0;
} |
|
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.
Info |
---|
title | Example - Setting the maximum number of connections for Sybase IQ |
---|
|
Code Block |
---|
| $ mzsh topo set topo://container:<container>/pico:<pico name>/val:config.properties.sybase.iq.pool.maxlimit 20 |
|
By default, there is no timeout value defined for the socket tied to a database connection. This means that a running query could get stuck, in case the database suddenly becomes unreachable. To specify a timeout value, in milliseconds, set the Execution Context property sybase.jdbc.socketread.timeout
in the relevant <pico>.conf
file.
Info |
---|
title | Example - Setting the timeout for a socket tied to a Sybase IQ connection |
---|
|
Code Block |
---|
| $ mzsh topo set topo://container:<container>/pico:<pico name>/val:config.properties.sybase.jdbc.socketread.timeout 600000 |
|
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. |