Versions Compared

Key

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

...

Note
titleNote!

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.
     
  2. Place the downloaded jar file in the $MZ_HOME/3pp directory.
     
  3. 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.

...

Returned Value

Description

dbProfile

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

...

Info
titleExample - 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 in 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
titleExample - 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 the 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
titleExample - Setting the timeout for a socket tied to a Sybase IQ connection


Code Block
languagetext
themeEclipse
$ 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
titleNote!

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.


Scroll ignore
scroll-viewportfalse
scroll-pdftrue
scroll-officefalse
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse


Next: