Set up SQL packages for Interactive SQL

This topic applies only to non-iSeries™ Application Servers (ASs).

If either of the following items is true, then you need to ensure that SQL packages are created at the servers:

STRSQL does not require SQL packages for iSeries servers. Normally, SQL packages are created automatically at a non-iSeries application server (AS) for users of STRSQL. However, a problem can occur because the initial connection for STRSQL is to the local server, and that connection is protected by two-phase commit protocols. If a subsequent connection is made to a server that is only one-phase commit capable, or if TCP/IP is used from a pre-V5R1 iSeries client, then that connection is read-only. When an attempt is made to automatically create a package over such a connection, it fails because the creation of a package is considered an update, and cannot be done over a read-only connection.

The solution to this is to get rid of the connection to the local database before connecting to the remote AS. This can be done by doing a RELEASE ALL command followed by a COMMIT. Then the connection to the remote server can be made and because it is the first connection, updates can be made over it.

When you start Interactive SQL, you must specify a commitment control level of something other than *NONE. Also, the user ID that you use to connect with must have the proper authority to create an SQL package on the application server. If you receive an SQLSTATE of 42501 on the connection attempt, you might not have package creation authority.

Related reference
Connection failures specific to Interactive SQL