アプリケーション開発の手引き


REXX の実行要件

REXX アプリケーションではプリコンパイル、およびリンクは行われません。

OS/2 の場合、アプリケーション・ファイルの拡張子は .CMD になっている必要があります。この拡張子を付けると、アプリケーションをオペレーティング・システムのコマンド・プロンプトから直接実行できます。

Windows 32 ビット オペレーティング・システムの場合、アプリケーション・ファイルには、任意の名前を付けることができます。ファイルを作成後、次のように REXX インタープリターを起動して、アプリケーションをオペレーティング・システムのコマンド・プロンプトから実行できます。

      REXX file_name

AIX では、アプリケーション・ファイルに任意の拡張子を付けることができます。次の 2 つの方法のいずれかを使用して、アプリケーションを実行できます。

  1. シェル・コマンド・プロンプトで、rexx name と入力する。 name は REXX プログラムの名前です。
  2. REXX プログラムの先頭行に "magic number" (#!) が含まれ、 REXX/6000 インタープリターのあるディレクトリーが識別されている場合は、 REXX プログラムの名前をシェル・コマンド・プロンプトに入力することにより、これを実行できます。たとえば、REXX/6000 インタープリター・ファイルが /usr/bin ディレクトリーにある場合は、 REXX プログラムの先頭行を以下のようにします。
           #! /usr/bin/rexx 
    

    シェル・コマンド・プロンプトに次のコマンドを入力すると、プログラムが実行可能になります。

           chmod +x name 
    

    シェル・コマンド・プロンプトにファイル名を入力して、 REXX プログラムを実行してください。

注:AIX では、LIBPATH 環境変数をセットして、 REXX SQL ライブラリー db2rexx があるディレクトリーを含めます。以下はその例です。

   export LIBPATH=/lib:/usr/lib:/usr/lpp/db2_07_01/lib

REXX のバインド・ファイル

REXX アプリケーションをサポートするために、5 つのバインド・ファイルが提供されています。それらのファイルの名前は、DB2UBIND.LST ファイルの中に組み込まれています。各バインド・ファイルは、それぞれ別々の分離レベルを使用してプリコンパイルされます。したがって、5 つの異なるパッケージがデータベース内に保管されます。

以下に、5 つのバインド・ファイルを示します。

DB2ARXCS.BND
カーソル固定の分離レベルをサポートします。

DB2ARXRR.BND
反復可能読み取りの分離レベルをサポートします。

DB2ARXUR.BND
非コミット読み取りの分離レベルをサポートします。

DB2ARXRS.BND
読み取り固定の分離レベルをサポートします。

DB2ARXNC.BND
コミットなしの分離レベルをサポートします。この分離レベルは、AS/400 データベース・サーバーを作動させる際に使用されます。他のデータベースでは、非コミット読み取りの分離レベルと同様に動作します。
注:これらのファイルを、データベースに明示的にバインドしなければならない場合もあります。

SQLEXEC ルーチンを使用する場合は、カーソル固定により作成されたパッケージが省略時のパッケージとして使用されます。他の分離レベルを使用する必要がある場合は、データベースに接続する前に SQLDBS CHANGE SQL ISOLATION LEVEL API を使用して分離レベルを変更できます。分離レベルを変更すると、その後に続く SQLEXEC ルーチンに対する呼び出しが、新たに指定した分離レベルと関連付けられます。

OS/2 REXX アプリケーションは、セッション内の他の REXX プログラムの設定が変更されていないことを確認しない限り、省略時の分離レベルが有効であるとみなしません。 REXX アプリケーションは、データベースに接続する前に分離レベルを明示的に設定しなければなりません。


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