アプリケーション構築の手引き


ストアード・プロシージャー

ストアード・プロシージャーは、サーバー上で構築され、格納されます。 ストアード・プロシージャーは、 クライアント・アプリケーションによってリモートからアクセスできます。 次に、ストアード・プロシージャー関数は、 サーバー・データベース上でローカルに処理を実行し、 クライアントに結果を送り返します。 これは、ネットワーク通信量を削減し、 パフォーマンス全体を改善します。

ストアード・プロシージャーは、 分離形式でも非分離形式でも実行できます。 非分離ストアード・プロシージャーは、 データベース・マネージャーと同じアドレス空間で実行するので、 データベース・マネージャーとは分離したアドレス空間で実行する分離ストアード・プロシージャーと比較すると、 パフォーマンスが向上します。 非分離ストアード・プロシージャーを使う場合、 ユーザーのコードがデータベース制御構造を損傷する可能性があります。 したがって、非分離ストアード・プロシージャーは、 最高のパフォーマンスを得たいときにのみ実行しなければなりません。 これらのプログラムは、完全にテストしてから、 分離されていないものとして稼働してください。 詳細については、アプリケーション開発の手引き を参照してください。

本書で示されているストアード・プロシージャーは、 サーバーのパス sqllib/function に格納されています。 DB2DARI パラメーター・スタイルのストアード・プロシージャーにおいて、 呼び出されたプロシージャーと共用ライブラリー名が同じになっている場合、 ストアード・プロシージャーが分離されていることをこのロケーションが示します。 このタイプのストアード・プロシージャーを分離したくない場合は、 それを sqllib/function/unfenced ディレクトリーに移す必要があります。 これ以外のタイプの DB2 ストアード・プロシージャーの場合は、 呼び出し側プログラムで CREATE FUNCTION ステートメントを使用することによって、 そのストアード・プロシージャーが分離されているかどうかを示します。 異なるタイプの DB2 ストアード・プロシージャーの作成および使用の詳細については、 アプリケーション開発の手引き の『ストアード・プロシージャー』という章を参照してください。

以下に示すサンプル・プログラムは、 SQL プロシージャーを使ってサーバー上でストアード・プロシージャー・ライブラリーの構築と格納を行うステップの具体例を示すために本書で使われているものです。

spserver.db2
これは、サーバー上で共用ライブラリーを作成するために使用される SQL プロシージャーを含む CLP スクリプトです。 これは、CLP call コマンド、 または C、C++、および CLI ディレクトリー内の spclient アプリケーションによって呼び出すことができます。

以下に示すサンプル・プログラムは、 C および C++ を使ってサーバー上でストアード・プロシージャー・ライブラリーの構築と格納を行うステップの具体例を示すために本書で使われているものです。

spserver
これは、クライアント / サーバー例のサーバー・プログラムです。 クライアント・プログラムは spclient です。

以下に示すサンプル・プログラムは、 Java を使ってサーバー上でストアード・プロシージャー・ライブラリーの構築と格納を行うステップの具体例を示すために本書で使われているものです。

Spserver
これは、クライアント / サーバー例のサーバー・プログラムです。 クライアント・プログラムは Spclient です。

以下に示すサンプル・プログラムは、 COBOL を使ってサーバー上でストアード・プロシージャー・ライブラリーの構築と格納を行う具体例を示すために本書で使われているものです。

outsrv
これは、クライアント / サーバー例のサーバー・プログラムです。 クライアント・プログラムは outcli です。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]