@DB2Schema (式言語)

文字列としてデータベースの名前が指定された場合、db2nsf データベースであればそのデータベースの DB2® スキーマを含む文字列が返され、db2nsf データベースでなければ空の文字列が返されます。

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

構文

@DB2Schema( server : file )

@DB2Schema( server ; replicaID )

パラメータ

server

文字列。サーバーの名前。

file

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

replicaID

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

戻り値

schema

文字列。server : file または server ; replicaID で示される nsf データベースの DB2 スキーマ。データベースが DB2 以外のデータベースであれば、空の文字列 ("") が返されます。次の場合は、@Error によりエラーが返されます。

使用法

@DB2Schema は照会ビューで使用されますが、DB2 SQL 照会は表示用の結果セットを返します。この SQL 照会は照会式であり、@関数を照会式に組み込んでいます。DB2 で実行される SQL の文字列に評価が反映されます。現在の db2nsf のスキーマ内で、Domino Access View (DAV) から SELECT を実行するには、スキーマ名により DAV 表を限定しなければなりません。限定していなければ、DB2 ではアクセス中のユーザー名がスキーマ名として使用されます。@DB2Schema を使用すると、照会式内でスキーマ名を動的に指定できます。

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

  1. 次の式は、DB2 対応のデータベースが存在する場合はスキーマ名 FRITES を、DB2 対応のデータベースが存在しない場合は "" を返します。
    @DB2Schema( "Belgium" : "mail¥¥frites.nsf" )
  2. 次の式は、ファイル名ではなくレプリカ ID を使用してデータベースの DB2 情報を返します。
    @DB2Schema("Cheshire";"852556DO:00576146")
  3. これら 2 つの式ではどちらも、現在のデータベースの DB2 情報が返されます。
    @DB2Schema(@DbName)

  4. 次の例では、照会に @DB2Schema を使用して、現在のデータベースと同じスキーマにある dav1 表から姓名のデータを取り出します。
    "SELECT firstname, lastname FROM " + @DB2Schema( @DbName ) + ".dav1"
  5. 次の例では、@DB2Schema を使用し、列式でエラー処理を行い、文書の [dbname] フィールド内で参照された db2nsf ローカルデータベースのスキーマが返されます。
    @If(@IsError(@DB2Schema(@DBName));"Error")

  6. 次の例は、まず @IsDB2 を使用して DB2 への接続が成立しているか検出します。文書の [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");