12 Java in the Database

This chapter describes BS2000-specific features for Java in the database. This chapter includes:

For more information, refer to the Oracle Java documentation set.

12.1 Installation of a Java Enabled Database

When you call $ORAC1120.INSTALL.P.SUPER and set the JAVA parameter to YES, you'll get a suitable ORAENV file (with ORACLE_HOME as described earlier), a database sized to Java requirements and Java installed inside the database.

When you try to enable Java in an existing Oracle database, you can use the Java related parts of this procedure as an example and modify it according to your needs, that is, increase dbsize, increase shared_pool_size, create a large rollback segment, run initjvm.sql, and so on. For more information, refer to Oracle Database Java Developer's Guide.

Where can files related to Java reside and how should they be encoded?

It is not absolutely straightforward where files used by Java have to be stored and how they should be encoded. In general files can reside in native BS2000 or in the POSIX file system, but there are exceptions.

The following table gives an overview of the file types, location, default encoding, and encoding modifications for APIs or statements

Statement or API File type Place Default encoding Encoding modification
CREATE JAVA CLASS USING BFILE .class BS2000 PAM file or POSIX Binary Not applicable
CREATE JAVA RESOURCE USING BFILE .properties BS2000 PAM file or POSIX ascii None, that is, there is no means to change default encoding)
CREATE JAVA SOURCE USING BFILE .java, .sqlj BS2000 PAM file or POSIX DB charset Execute dbms_java. set_compiler_option (' ', 'encoding', 'ISO8859-1')
CREATE JAVA SOURCE AS .sql Part of statement Session character set specified in NLS_LANG NLS_LANG
CALL DBMS_JAVA.LOADJAVA *, .jar, .zip POSIX DB charset Option encoding in loadjava call
java.io-package * POSIX DB charset Depends on the classes used

BS2000 PAM files in ascii can be created by transferring files (FTP) from an ascii platform to BS2000 in binary mode.

The distinction between a native BS2000 file name and a POSIX file name is made by the preceding slash ('/'). As a consequence, no relative path names are allowed for POSIX file names.

However, there is one exception: when used within dbms_java.loadjava, relative path names are preceded by the value of ORACLE_HOME in ORAENV file.

12.2 Database character sets and Java Encodings

As far as I/O is concerned, the Oracle JAVAVM uses the database character set as system property file.encoding. Therefore the following Oracle/BS2000 database character sets have been added to the list of supported Java encodings:


These encodings are not known to any other Java implementation.

The system property file.encoding, however, does not apply to Java property files. Property files always use the encoding 8859_1 (refer to Oracle Database SQLJ Developer's Guide). The system property file.encoding is used when compiling a source file. You can change this default by either using the following procedure or by setting the encoding option of the procedure dbms_java.loadjava:


12.3 Java Demonstration Files

A simple Java demonstration program running in the server is shipped under:


An example with database connection using the server-side internal driver is shipped under: