動的バインド ユーティリティ

動的バインド ユーティリティにより、-805 または -818 SQL エラーが表示されるプログラムを動的にバインドできます。

このユーティリティの活用方法として代表的な例の 1 つは、組織内に多数の共通 SQL ルーチンがあり、それらを共有しながら、各ルーチンを複数のデータベースに対して使用する場合です。この場合、組織内の担当者 (通常はデータベース管理者) は、これらの共通モジュールを使用できるようにするために、各データベースに対してバインドする必要があります。別のオプションは、各ルーチンをデータベースごとにコンパイルすることです。この場合は、共通ルーチンのいずれかが変更されると、バインド/コンパイルの処理をデータベースごとに繰り返さなくてはなりません。

ホスト互換性オプションでは、さらに別のオプションを選択できます。SQL ルーチンのコンパイルでは、SQL エラーが発生するとホスト互換性オプションは新たな情報を MFHCOCDS ルーチンに渡します。万一 -805 または -818 エラーが発生すると、ホスト互換性オプションはエラーに含まれるルーチンと関連付けられたバインド ファイルを探し、現在プログラムが接続されているデータベースに対してそのパッケージをバインドします。続けてメッセージが表示され、バインドが成功したかどうかが示されます。元の SQL エラーがプログラムに返されるため、プログラムを再起動するか、またはプログラムをアニメートする場合はエラー元の SQL 文を再実行する必要あがります。

この機能を実装するには、次の操作を行う必要があります。

この BIND 指令により、各共通ルーチンのバインド ファイルが作成されます。-805 または -818 SQL エラーが発生すると、ホスト互換性オプションは次の検索順番でバインド ファイルを検索します。

  1. 現在のフォルダー
  2. HCOBND 環境変数によって指定されたフォルダー

動的バインド ユーティリティを活用するには、HCO_AUTOREBIND 環境変数を次のように設定します。

SET HCO_AUTOREBIND=ON

HCO BIND ツールを使用して、すべてのアプリケーションを迅速に再バインドすることもできます。