@IsDB2 (式言語)

指定したサーバーとファイル名またはサーバーとレプリカ ID は、指定したデータベースが DB2® に対応しているか、対応していないかを示します。

注: この @関数は Release 7 で新しく追加されました。

構文

@IsDB2(server : file)

@IsDB2(server ; replicaID)

パラメータ

server

文字列。サーバーの名前。ローカルコンピュータの場合は空の文字列 ("") を使用します。

file

文字列。データベースのパスとファイル名です。データベースのパスとファイル名は、オペレーティングシステムごとの正しい形式を使用して指定します。

replicaID

文字列。データベースのレプリカ ID です。

戻り値

flag

Boolean 型

次の場合は、@Error によりエラーが返されます。

  1. ローカル名が nsf のデータベースが DB2 内にないため、この式では 0 (False) が返されます。
    @IsDB2("":"names.nsf")

  2. これら 2 つの式ではどちらも、現在のデータベースの DB2 情報が返されます。
    @IsDB2(@DbName)
    @IsDB2("":"")
  3. 次の式では、FRITES.NSF が、サーバー Belgium の MAIL ディレクトリにあり、DB2 対応であれば 1 が返されます。そうでない場合は、0 が返されます。
    @IsDB2( "Belgium" : "mail¥¥frites.nsf" )
  4. 次の式は、ファイル名ではなくレプリカ ID を使用してデータベースの DB2 情報を返します。
    @IsDB2("Cheshire";"852556DO:00576146")
  5. 次の列式の例は、まず @IsDB2 を使用して文書の [dbname] フィールドで参照されたローカルデータベースが DB2 データベースであるかどうかを検出します。もしそうであれば、より意味のあるエラーメッセージが @DB2Schema から表示されます。
    result1 := @IsDB2("":dbname);
    result2 := @DB2Schema("":dbname)
    @If(@IsError(result1);"Unable to find database or lost server connection";
    result1;@If(@IsError(result2);
    "Unable to find database or lost server connection";result2);
    "Not a DB2 database");

使用法

この関数はビュー選択式、列式を含め @関数の使用をサポートしているすべてのコンテキスト、Web から実行できます。

データベースがローカルレプリカに複製されていて、サーバーパラメータに空の文字列が指定されていれば、@IsDB2 を使用すると、レプリカにエラーが発生します。そのため、関連パスを使用するとき、@Error と @IsDB2 を使用して処理することが非常に重要です。