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 のいずれかのステートメントを発行する必要があります。
構文
スキーマは 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 特権
なし
例
CALL SYSPROC.WLM_SET_CLIENT_INFO('db2user', 'machine.torolab.ibm.com',
'auditor', 'Accounting department', 'AUTOMATIC') CALL SYSPROC.WLM_SET_CLIENT_INFO('db2user2', NULL, NULL, NULL, NULL) CALL SYSPROC.WLM_SET_CLIENT_INFO('', NULL, NULL, NULL, NULL) 使用上の注意
プロシージャー・パラメーターに指定した入力がその指定フィールド長を超える場合、入力フィールドは切り捨てられ、プロシージャーは切り捨てられた入力を使用して実行されます。
単一引用符を含む入力フィールドはサポートされておらず、エラーになります。
