外部ルーチン・ライブラリーおよびクラスのデプロイメント

外部ルーチン・ライブラリーおよびクラスのデプロイメントは、外部ルーチン・ライブラリーおよびクラスをソース・コードからビルドされた後に、それらをデータベース・サーバーにコピーすることを指します。

外部ルーチン・ライブラリー、クラス、またはアセンブリー・ファイルは、データベース・インスタンス所有者のホーム・ディレクトリー内の sqllib/function ディレクトリー、またはデータベース・サーバー上の function ディレクトリーのサブディレクトリーにコピーする必要があります。 function ディレクトリーの詳細については、SQL ステートメント (CREATE PROCEDURE または CREATE FUNCTION) のいずれかの EXTERNAL 節の説明を参照してください。

ルーチンの実装に使用する API およびプログラミング言語に応じて、外部ルーチンのクラス、ライブラリー、またはアセンブリーをサーバー上の他のディレクトリーの位置にコピーすることができます。ただし、これは通常お勧めできません。 外部ルーチン、クラス、ライブラリー、またはアセンブリーをサーバー上の他のディレクトリーの位置にコピーする場合、完全修飾パス名を使用し、この値が EXTERNAL NAME 節で使用されるようにする必要があります。

ライブラリーおよびクラス・ファイルは、ごく普通に入手できるファイル転送ツールを使ってデータベース・サーバーのファイル・システムにコピーすることができます。 Java™ ルーチンは、特にこの目的のために設計された特殊な組み込みプロシージャーを使用して、クライアント・コンピューターからデータベース・サーバーにコピーできます。 詳しくは、Java ルーチンに関するトピックを参照してください。

ライブラリーやクラス・ファイルは、db2nodes.cfg ファイルにリストされているすべての物理ホストからアクセス可能でなければなりません。 アセンブリーまたはライブラリーを、すべてのホストからアクセスできる共有ファイル・システム上のディレクトリーでないディレクトリーにコピーした場合は、そのファイルを各ホストの同じ場所に手動でコピーする必要があります。

ルーチン・タイプ CREATE PROCEDURE または CREATE FUNCTION の該当する SQL 言語 CREATE ステートメントを発行する場合、 EXTERNAL NAME 節に特に注意して該当する節を指定してください。
  • 選択した API またはプログラミング言語の該当する値を使用して、LANGUAGE 節を指定します。 例として、CLR、C、JAVA が含まれます。
  • PARAMETER STYLE 節に、ルーチン・コードでインプリメントした有効なパラメーター・スタイルの名前を指定します。
  • EXTERNAL 節に、ルーチンと関連したライブラリー、クラス、またはアセンブリー・ファイルの名前を指定します。そのためには、以下のいずれかの値を使用します。
    • ルーチン・ライブラリー、クラス、またはアセンブリー・ファイルの完全修飾パス名。
    • function ディレクトリーを基準にしたルーチン・ライブラリー、クラス、またはアセンブリー・ファイルの相対パス名。

EXTERNAL 節にライブラリー、クラス、またはアセンブリーのファイルの完全修飾パス名または相対パス名を指定しない場合、データベース・マネージャーは、function ディレクトリー内でそれらの名前を検索します。