INSTALL JAVA Statement

Makes Java classes available for use within a database.

Syntax

INSTALL JAVAinstall-mode ] [ JAR jar-name ] FROM source

Parameters

Examples

Usage

Install mode—Specifying an install mode of NEW requires that the referenced Java classes be new classes, rather than updates of currently installed classes. An error occurs if a class with the same name exists in the database and the NEW install mode is used.

UPDATE specifies that the referenced Java classes may include replacements for Java classes already installed in the given database.

Connection must be dropped for update to take effect—Updating a Java class installed in a database takes effect immediately. However, the connection used to execute the INSTALL JAVA UPDATE statement has access only to the older version of the Java class until the connection is dropped.

Note:

A client application executing this statement should drop the database connection used to execute the statement and reconnect to get access to the latest version.

This applies to the dbisql utility also. If you update a Java class by executing the INSTALL statement from dbisql, the new version is not available until you disconnect from the database engine or server and reconnect.

If install mode is omitted, the default is NEW.

JAR—Specifies that the file-name or text-pointer must designate a JAR file or a column containing a JAR. JAR files typically have extensions of .jar or .zip.

Installed JAR and zip files can be compressed or uncompressed. However, JAR files produced by the Sun JDK jar utility are not supported. Files produced by other zip utilities are supported.

If the JAR option is specified, then the JAR is retained as a JAR after the classes that it contains have been installed. That JAR is the associated JAR of each of those classes. The set of JARs installed in a database with the JAR option are called the retained JARs of the database.

Retained JARs are referenced in INSTALL and REMOVE statements. Retained JARs have no effect on other uses of Java-SQL classes. Retained JARs are used by the SQL system for requests by other systems for the class associated with given data. If a requested class has an associated JAR, the SQL system can supply that JAR, rather than the individual class.

jar-name is a character string value of length up to 255 bytes. jar-name is used to identify the retained JAR in subsequent INSTALL, UPDATE, and REMOVE statements.

source—Specifies the location of the Java classes to be installed.

The formats supported for file-name include fully qualified file names, such as 'c:\libs\jarname.jar' and '/usr/u/libs/jarname.jar', and relative file names, which are relative to the current working directory of the database server.

The filename must identify either a class file or a JAR file.

The class definition for each class is loaded by the VM of each connection the first time that class is used. When you INSTALL a class, the VM on your connection is implicitly restarted. Therefore, you have immediate access to the new class, whether the INSTALL has an install-mode of NEW or UPDATE.

For other connections, the new class is loaded the next time a VM accesses the class for the first time. If the class is already loaded by a VM, that connection does not see the new class until the VM is restarted for that connection (for example, with a STOP JAVA and START JAVA).

Standards

  • SQL—Vendor extension to ISO/ANSI SQL grammar.

  • Sybase—Not supported by Adaptive Server Enterprise.

Permissions

  • Requires DBA permissions to execute the INSTALL statement.

  • All installed classes can be referenced in any way by any user.

Related reference
REMOVE Statement