WLM_SET_CLIENT_INFO プロシージャー - クライアント情報設定

WLM_SET_CLIENT_INFO プロシージャーは、データベース・サーバーでの現行接続に関連付けられたクライアント情報を設定します。

このプロシージャーを使用することにより、クライアントのユーザー ID、アプリケーション名、ワークステーション名、アカウンティング情報、またはワークロード情報を データベース・サーバーで設定できます。このプロシージャーを呼び出すと、この接続に関する、関連するトランザクション・プロセッサー (TP) モニターのクライアント情報フィールドおよび特殊レジスター設定の保管された値が変更されます。

クライアント情報フィールドは、現在接続を使用しているアプリケーションまたはユーザーの ID を判別するために、データベース・サーバーで使用されます。接続用のクライアント情報フィールドは、データベースのワークロード評価中に考慮され、この接続用に生成されるデータベース監査レコードまたはアプリケーション・スナップショットにも表示されます。

sqleseti API とは異なり、このプロシージャーは、クライアントでクライアント情報を設定するのではなく、対応するクライアント属性をデータベース・サーバーで設定します。 そのため、このプロシージャーを使用してデータベース・サーバーに設定されたクライアント情報を照会するために sqleqry API を使用することはできません。 アプリケーションが sqleseti API を使用してクライアント情報を変更する場合、新しい値によってデータベース・サーバーでの設定値が変更されます。 sqleseti API を使用してアカウンティング情報を変更することなくユーザー ID またはアプリケーション名のいずれかを変更すると、データベース・サーバーのアカウンティング情報もクライアントのアカウンティング情報の値にリセットされます。

このプロシージャーで提供されたデータ値は、関連した TP モニターのフィールドまたは特殊レジスターに保管される前に、適切なデータベースのコード・ページに変換されます。 データベースのコード・ページへの変換後に最大サポート・サイズを超えるデータ値は、サーバーに保管される前に切り捨てられます。 切り捨てられた値は、それら保管された値が照会されるときに TP モニターのフィールドおよび特殊レジスターの両方によって返されます。

WLM_SET_CLIENT_INFO プロシージャーはトランザクションの制御下にはなく、このプロシージャーにより加えられたクライアント情報変更は、作業単位のコミットまたはロールバックとは無関係です。 ただし、各アプリケーションの次の作業単位の開始時にワークロードの再評価が行われるので、クライアント情報変更を有効にするには、COMMIT または ROLLBACK のいずれかのステートメントを発行する必要があります。

構文

構文図を読む構文図をスキップするWLM_SET_CLIENT_INFO(client_userid ,client_wrkstnname,client_applname,client_acctstr ,client_workload)

スキーマは SYSPROC です。

プロシージャー・パラメーター

client_userid
クライアントのユーザー ID を指定する、タイプ VARCHAR(255) の入力引数。 NULL を指定する場合、値は変わりません。 空ストリング (デフォルト値) を指定する場合、クライアントのユーザー ID はデフォルト値であるブランクにリセットされます。
client_wrkstnname
クライアントのワークステーション名を指定する、タイプ VARCHAR(255) の入力引数。 NULL を指定する場合、値は変わりません。 空ストリング (デフォルト値) を指定する場合、クライアントのワークステーション名はデフォルト値であるブランクにリセットされます。
client_applname
クライアントのアプリケーション名を指定する、タイプ VARCHAR(255) の入力引数。 NULL を指定する場合、値は変わりません。 空ストリング (デフォルト値) を指定する場合、クライアントのアプリケーション名はデフォルト値であるブランクにリセットされます。
client_acctstr
クライアント・アカウンティング・ストリングを指定する、タイプ VARCHAR(255) の入力引数。 NULL を指定する場合、値は変わりません。 空ストリング (デフォルト値) を指定する場合、クライアント・アカウンティング・ストリングはデフォルト値であるブランクにリセットされます。
client_workload
クライアントのワークロードの割り当てを指定する、タイプ VARCHAR(255) の入力引数。 NULL を指定する場合、値は変わりません。 値は、以下のとおりです。
SYSDEFAULTADMWORKLOAD
データベース接続が SYSDEFAULTADMWORKLOAD に割り当てられることを指定します。これにより、ACCESSCTRL、DATAACCESS、DBADM、SECADM、または WLMADM 権限を持つユーザーは通常のワークロード評価を迂回することができます。
AUTOMATIC
サーバーが自動的に実行するワークロード計算に選ばれているワークロードに、データベース接続を割り当てるよう指定します。
注: client_workload 引数は大文字小文字を区別します。

許可

このルーチンを実行するには、以下のいずれかの権限が必要です。
  • ルーチンに対する EXECUTE 特権
  • DATAACCESS 権限
  • DBADM 権限
  • SQLADM 権限
  • WLMADM 権限

デフォルトの PUBLIC 特権

なし

以下のプロシージャー呼び出しは、クライアントのユーザー ID、ワークステーション名、アプリケーション名、アカウンティング・ストリング、およびワークロード割り当てモードを設定します。
  CALL SYSPROC.WLM_SET_CLIENT_INFO('db2user', 'machine.torolab.ibm.com', 
     'auditor', 'Accounting department', 'AUTOMATIC')
以下のプロシージャー呼び出しは、クライアントのユーザー ID を db2user2 に設定し、他のクライアント属性は設定しません。
  CALL SYSPROC.WLM_SET_CLIENT_INFO('db2user2', NULL, NULL, NULL, NULL)
以下のプロシージャー呼び出しは、クライアントのユーザー ID をブランクにリセットし、他のクライアント属性の値を変更しません。
  CALL SYSPROC.WLM_SET_CLIENT_INFO('', NULL, NULL, NULL, NULL) 

使用上の注意

プロシージャー・パラメーターに指定した入力がその指定フィールド長を超える場合、入力フィールドは切り捨てられ、プロシージャーは切り捨てられた入力を使用して実行されます。

単一引用符を含む入力フィールドはサポートされておらず、エラーになります。