使用者の手引き

DB2 の CLISCHEMA 初期化キーワード

DB2 ユニバーサル・データベースでは、 データベースに最初に接続した後の「情報収集」段階で初期 API 呼び出しが戻すデータの量を制限するために使用できるいくつかの CLI/ODBC 初期化キーワードが用意されています。これらのキーワードを設定するには、以下のようにします。

  1. db2cli.ini ファイルを手動編集する。
  2. クライアント構成支援機能 (サポートされているプラットフォームで) を使用して、 データベースの ODBC/CLI 設定を変更する。
  3. DBA コマンド行インターフェースを使用して、データベース CLI 構成を更新する。

キーワードは、以下のとおりです。

   - DBNAME
   - TABLETYPE
   - SCHEMALIST
   - SYSSCHEMA
   - CLISCHEMA

CLISCHEMA の情報は例外ですが、 これらのキーワードについては CLI/ODBC ヘルプと コール・レベル・インターフェースの手引きおよび解説書 に文書化されています。 この後の部分では、CLISCHEMA の使い方についてのみ説明します。

おって コール・レベル・インターフェースの手引きおよび解説書 に追加される予定になっている CLISCHEMA のドキュメンテーションは、 以下のとおりです。

  db2cli.ini Keyword Syntax:  CLISCHEMA = clischema  
  Default Setting:            No alternatives specified.  
  DB2 CLI/ODBC Settings Tab:  Not present.  

使用上の注意

CLISCHEMA オプションは、 カタログ情報を収集するため DB2 CLI 呼び出しと ODBC 呼び出しが発行されたときに、 SYSIBM (または SYSTEM、QSYS2) ではなく、代替スキーマ、表、 および索引を検索するよう指示します。

たとえば、CLISCHEMA='SERGE' という指定にした場合は、 通常ならシステム表を参照する内部の CLI/ODBC API 呼び出しが、 以下のユーザー表を代わりに参照します。

   - SERGE.TABLES
   - SERGE.COLUMNS
   - SERGE.SPECIALCOLUMNS
   - SERGE.TSTATISTICS
   - SERGE.PRIMARYKEYS
   - SERGE.FOREIGNKEYS
   - SERGE.TABLEPRIVILEGES
   - SERGE.COLUMNTABLES
   - SERGE.PROCEDURES
   - SERGE.PROCEDURESCOLUMNS

データベース管理者がこれらのユーザー表を作成していないと、 CLISCHEMA を使うことはできません。
注:DataPropagator は、CLISCHEMA のサポートを提供しているので、 データベース管理者は以下の 3 つの方法でこのタスクを実行できるようになっています。
  1. クライアントで db2cli.exe を使う。
  2. DataPropagator を使用してサーバーで自動実行する。
  3. サーバーで手動実行する。
クライアントでこのタスクを実行する方法について、以下に説明します。

db2cli および bldschem ユーティリティー

CLISCHEMA で必要とされる、ユーザー表を設定するユーティリティーは、 CLI コマンド行インターフェースの bldschem サポート・コマンドの形で提供されます。 これは事前に文書化されていませんが、 /samples/cli/db2cli.exe にあります。 bldschem サポート・コマンドを含まない db2cli.exe の文書は、 /samples/cli/INTCLI.DOC にあります。

たとえば、 スキーマ所有者 (作成者) USERID が表名 STAFF を所有する場合に CLISCHEMA='SERGE' の処理に必要なユーザー表の集合をデータベース SAMPLE に作成するには、 db2start を発行してデータベースを ODBC/CLI に登録してから、 次のコマンドを実行します。

   db2cli < addstaff.txt

"addstaff.txt" には、以下のスクリプトを入れます。

   opt callerror on
   opt echo on
   quickc 1 1 sample userid password
   #
   # Repeat next line for each table to add.
   #
   bldschem 1 SERGE USERID STAFF
   #
   # Exit
   #
   killenv 1            

このスクリプトは、表 USERID.STAFF のシステム・カタログ表データを取り込んだ、 上記のリストに示されている索引付きの表の集合 SERGE.* を作成します。たとえば、SERGE.TABLES には一致したそれぞれの項目の新しい行が取り込まれます。 bldschem 追加呼び出しを発行すると、既存の行が置き換えられ、 既存の SERGE.* 実行可能プログラムに追加されます。

まとめとして、bldschem サポート・コマンドの構文は以下のようになります。

   bldschem <handle_number> <value_of_CLISCHEMA> <schema_owner> <table_name>

値の意味は以下のとおりです。

   - <handle_number> should be 1
   - <value_of_CLISCHEMA> should be the same as the schema name specified with 
        the CLISCHEMA keyword
   - <schema_owner> is the creator of the table
   - <table_name> can be the name of a user table, a view, an alias, a synonym,
        or a system table name.
      (Wildcard characters are allowed).

この後、db2cli.exe で以下の例を実行すると、 直前の例で作成したユーザー表 SERGE.* に、 FRED と BERT がスキーマ所有者である各表のシステム・カタログ表のデータを反映する行が追加されます。

   bldschem 1 SERGE FRED %
   bldschem 1 SERGE BERT % 

この後、さらに CLISCHEMA CLI/ODBC キーワードを SERGE に設定して、 SAMPLE データベースに対して ODBC/CLI アプリケーションの処理をかけると、 システム・カタログ表ではなく SERGE.* 表集合が参照されます。


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