12.2 ロード内容とロード時期
リソース・ファイルは、必ずloadjava
ツールを使用してロードする必要があります。データベースの外で従来のコンパイラを使用して.class
ファイルを作成する場合、そのファイルは、loadjava
ツールを使用してロードする必要があります。クラス・ファイルをロードする別の方法には、ソース・ファイルをロードし、Oracle Databaseで、結果のクラス・スキーマ・オブジェクトをコンパイルおよび管理する方法があります。Oracle Database 12cリリース1 (12.1)では、ほとんどのコードをデータベースの外でコンパイルおよびデバッグしてから、.class
ファイルをロードするのが最も能率的な方法です。特定のJavaクラスに対して、.class
ファイルまたは対応する.java
ファイルのいずれかをロードできますが、両方はロードできません。
loadjava
ツールは、ソース・ファイルとリソース・ファイル、またはクラス・ファイルとリソース・ファイルのいずれかを含むJavaアーカイブ(JAR)ファイルを受け入れます。loadjava
ツールにJARファイルまたはZIPファイルを渡すと、デフォルトで、アーカイブをオープンし、そのメンバーを個別にロードします。
ノート:
データベースにJARの内容をロードする場合、JAR自体を表すデータベース・オブジェクトを作成するオプションが用意されています。
前回のロード時から変更されていないファイルは、再ロードされません。このため、JARファイルのロードによるパフォーマンスの低下はほとんどありません。JARファイルのロードは、loadjava
ツールの簡単で安全な使用方法です。
同一スキーマ内の2つのスキーマ・オブジェクトに同じクラスを定義することはできません。たとえば、a.java
でクラスx
を定義し、x
の定義をb.java
に移動する場合を考えてみます。a.java
がすでにロードされている場合、loadjava
ツールはb.java
のロードを拒否します。かわりに、次のいずれかの方法を実行する必要があります。
-
a.java
を削除し、b.java
をロードして、次に新しいa.java
(x
は定義されていません)をロードします。 -
新しい
a.java
(x
は定義されていません)をロードし、次にb.java
をロードします。
関連トピック