Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This section contains information that is specific to the database type Sybase IQ.

Note
title

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 Image Added.

You must proceed as follows:

  1. Go to the SAP Software Solutions web page for information about the SDK and included drivers:
    https://www.sap.com/index.html.

...

  1. Place the downloaded jar file in the $MZ_HOME/3pp directory.

...

  1. Restart the Platform and

...

  1. ECs.

Close Pooled Connections

  The   The APL function closePooledConnections enables  enables you to close a pooled connection with the Sybase IQ server. This feature helps you eliminate invalid connections.

Note
title

Note!

This function only closes inactive connections, regardless of how long the connections have been idle.  

Code Block
languagetext
themeEclipse
int closePooledConnections
     (string dbProfile)

Parameters:

Returned Value

Description

dbProfile

The name of the database where the table is stored, preceded by the folder name.

title
Info

Example - Using APL function closePooledConnections

Code Block
languagetext
themeEclipse
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.

Info
title

Example - Setting the maximum number of connections for Sybase IQ

Code Block
languagetext
themeEclipse
$ 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 valueThere 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 property sybase.jdbc.socketread.timeout in properties in the relevant <pico>.conf file.

Info
title

Example - Setting the timeout for a socket tied to a Sybase IQ connection

Code Block
languagetextthemeEclipse
$ 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
title

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.