SQL Reference

DISCONNECT

The DISCONNECT statement destroys one or more connections when there is no active unit of work (that is, after a commit or rollback operation). 92

Invocation

Although an interactive SQL facility might provide an interface that gives the appearance of interactive execution, this statement can only be embedded within an application program. It is an executable statement that cannot be dynamically prepared.

Authorization

None Required.

Syntax

                               (1)
>>-DISCONNECT----+-server-name------+--------------------------><
                 +-host-variable----+
                 +-CURRENT----------+
                 |     .-SQL-.      |
                 '-ALL-+-----+------'
 

Notes:

  1. Note that an application server named CURRENT or ALL can only be identified by a host variable.

Description

server-name  or  host-variable
Identifies the application server by the specified server-name or a host-variable which contains the server-name.

If a host-variable is specified, it must be a character string variable with a length attribute that is not greater than 8, and it must not include an indicator variable. The server-name that is contained within the host-variable must be left-justified and must not be delimited by quotation marks.

Note that the server-name is a database alias identifying the application server. It must be listed in the application requester's local directory.

The specified database-alias or the database-alias contained in the host variable must identify an existing connection of the application process. If the database-alias does not identify an existing connection, an error (SQLSTATE 08003) is raised.

CURRENT
Identifies the current connection of the application process. The application process must be in the connected state. If not, an error (SQLSTATE 08003) is raised.

ALL
Indicates that all existing connections of the application process are to be destroyed. An error or warning does not occur if no connections exist when the statement is executed. The optional keyword SQL is included to be consistent with the syntax of the RELEASE statement.

Rules

Notes

Examples

Example 1:  The SQL connection to IBMSTHDB is no longer needed by the application. The following statement should be executed after a commit or rollback operation to destroy the connection.

   EXEC SQL DISCONNECT IBMSTHDB;

Example 2:  The current connection is no longer needed by the application. The following statement should be executed after a commit or rollback operation to destroy the connection.

   EXEC SQL DISCONNECT CURRENT;

Example 3:  The existing connections are no longer needed by the application. The following statement should be executed after a commit or rollback operation to destroy all the connections.

   EXEC SQL DISCONNECT ALL;


Footnotes:

92
If a single connection is the target of the DISCONNECT statement, then the connection is destroyed only if the database has participated in any existing unit of work, not whether there is an active unit of work. For example, if several other databases have done work but the target in question has not, it can still be disconnected without destroying the connection.


[ Top of Page | Previous Page | Next Page ]