Oracle PL/SQL Programming Guide to Oracle 8i Features

Oracle PL/SQL Programming Guide to Oracle 8i FeaturesSearch this book
Previous: 8.5 A Complete FGAC ExampleChapter 9Next: 9.2 Getting Ready to Use Java in Oracle

9. Calling Java from PL/SQL

Oracle8i and Java
Getting Ready to Use Java in Oracle
A Simple Demonstration
Using loadjava
Using dropjava
Managing Java in the Database
Publishing and Using Java in PL/SQL

In this chapter, I explore the exciting new feature of Oracle8i that allows a developer to call Java stored procedures (JSPs) from within PL/SQL. Java is a very powerful language, much more robust in many ways than PL/SQL. Java also offers hundreds of classes that provide clean, easy-to-use application programming interface (APIs) to a wide variety of functionality.

9.1 Oracle8i and Java

In Oracle8i, Oracle includes a new product called JServer, which consists of the following elements:

The Aurora JVM executes Java methods (also known as Java stored procedures) and classes if they were stored in the database itself.

Java in the Oracle database is a big topic; Java programming all by itself is an even bigger topic. Complete treatment of either is outside the scope of this book. My objectives for this chapter are limited to the following:

To access Java class methods from within Oracle, you must take the following steps:

  1. Create the Java code elements. You can do this in Oracle's JDeveloper, or in any other Java Integrated Development Environment. (notepad.exe will also, of course, do the trick in a pinch!)

  2. Load the Java class(es) into Oracle using the loadjava command-line utility or the CREATE JAVA statement.

  3. Publish the Java class methods inside PL/SQL by writing wrapper programs in PL/SQL around the Java code.

  4. Grant privileges as required on the PL/SQL wrapper programs and the Java class referenced by the PL/SQL wrapper.

  5. Call the PL/SQL programs from any one of a number of environments, as illustrated in Figure 9.1.

Oracle8i offers a variety of components and commands to work with Java. Table 9.1 summarizes these different elements.

Table 9.1: Oracle8i Components and Commands for Java



Aurora JVM

The Java Virtual Machine (JVM) that Oracle implemented in its database server


An operating system command-line utility that loads your Java code elements (classes, .jar files, etc.) into the Oracle database


An operating system command-line utility that drops your Java code elements (classes, .jar files, etc.) from the Oracle database




New DDL statements that perform some of the same tasks as loadjava and dropjava


A built-in package that offers a number of utilities to set options and other aspects of the JVM


A built-in package you can use to more easily test your JSPs


A utility used to build Java classes around object types and REFs defined in the Oracle database

Figure 9.1: Accessing JSPs from within the Oracle database

Figure 9.1

The remainder of this chapter explains the steps outlined earlier and the components in Table 9.1. For more thorough coverage of Java in the Oracle database, please consult the Oracle documentation.

Previous: 8.5 A Complete FGAC ExampleOracle PL/SQL Programming Guide to Oracle 8i FeaturesNext: 9.2 Getting Ready to Use Java in Oracle
8.5 A Complete FGAC ExampleBook Index9.2 Getting Ready to Use Java in Oracle

The Oracle Library Navigation

Copyright (c) 2000 O'Reilly & Associates. All rights reserved.

Library Home Oracle PL/SQL Programming, 2nd. Ed. Guide to Oracle 8i Features Oracle Built-in Packages Advanced PL/SQL Programming with Packages Oracle Web Applications Oracle PL/SQL Language Pocket Reference Oracle PL/SQL Built-ins Pocket Reference