SQLJ.INSTALL_JAR外部ストアド プロシージャを使用して事前に登録されたアーカイブ ファイル(具体的にはJARファイルまたはZIPファイル)を置換するには、SQLJ.REPLACE_JAR外部ストアド プロシージャを使用します。
置換アーカイブ ファイルには、CREATE/REPLACE PROCEDURE文またはCREATE/REPLACE FUNCTION文のEXTERNAL NAME句で参照されている、元のアーカイブ ファイルにあるすべてのクラス ファイルのクラス ファイルを格納する必要があります。元のアーカイブ ファイルにある一方、外部ルーチンで参照されないクラス ファイルは、置換アーカイブ ファイルから削除できます。置換アーカイブ ファイルには、新しいクラス ファイルを含めることができます。
置換クラスの定義が元の定義と一致しない場合、外部ルーチンを実行すると予測不能な結果となる可能性があります。Java外部ルーチンを実装するメソッドのパラメータ リストが、元のメソッドのデータ型と一致しないデータ型を使用する場合は、一致するJavaメソッドが見つからなかったことを示すエラーが戻されます。
アーカイブ ファイルを使用する、現在実行中のSQL文は、実行が完了するまで元のJARファイルまたはZIPファイルを使用し続けます。
始める前に
外部ルーチンの事前登録済みのJARファイルまたはZIPファイルを置換する前に、以下の手順を実行します。
- SQLJ.REPLACE_JAR外部ストアド プロシージャに対してEXECUTE権限を持っていることを確認します。
- デフォルト データベースがアーカイブ ファイルが登録されたデフォルト データベースと異なる場合は、DATABASE文を使用してデフォルト データベースを変更します。
- 以下のすべてのオブジェクトにおいて、DROP PROCEDURE権限またはDROP FUNCTION権限を持っていることを確認します。
- デフォルト データベース
- SQLJ.INSTALL_JARに渡されたSQL識別子によって識別される、デフォルト データベース内で置換するオブジェクト