webve: 単一 SQL ステートメントのアクセス・プラン・グラフを生成

webve API に単一 SQL ステートメントを渡すと、 この API でそのステートメントが EXPLAIN されて、アクセス・プランの図への URL が返されます。

入力パラメーター

この URL を使用して、以下のキーと値のペアを API に渡します。 https://localhost/tuning/webve

表 1. 入力パラメーター
キー 使用可能な値 デフォルト値
dbType データ・サーバーのタイプ。 ZOS  
dbHost データ・サーバーのホスト。 ドメイン・ネームまたは IP アドレス  
dbPort データ・サーバーのポート番号    
dbName データ・サーバーの名前    
dbUser データ・サーバーに接続するときに使用する ID    
dbPassword データ・サーバーに接続するときに使用するパスワード。    
sql SQL ステートメントのテキスト。    
schema SQL ステートメント内の非修飾オブジェクトに対して使用される EXPLAIN プロセスのスキーマ。 この値は、tuning_service.properties ファイルに設定されている値をオーバーライドします。    
sqlid これは、CURRENT SQLID 特殊レジスターの値を設定します。   この値が指定されない場合、チューニング・サービスでは、サブシステムへの接続用に指定された 許可 ID が使用されます。

出力パラメーター

API は以下のキーと値のペアを返します。

表 2. 出力パラメーター
キー
code web API からの戻りコード。
0
完了 (警告なし)
4
完了 (警告あり)
8
エラーが原因で完了せずに終了
link アクセス・プラン・グラフの URL リンクはデフォルトで 7 日後に期限切れになります。 この期間は、tuning_service.properties ファイルで変更できます。
message エラー・メッセージまたは警告メッセージ。
例外 例外に関する情報 (例外が発生した場合)。 この情報は、お客様が IBM サポートと連携して問題解決にあたる場合に IBM サポートの参考になる可能性があります。

例 1

この例では、cURL を使用して webve API に SQL ステートメントを渡しています。 この API からは、アクセス・プラン・グラフがある URL が返されます。

入力
curl 
--insecure 
-X POST 
-H "Content-Type: application/json; charset=UTF-8"
--data "{ 
   dbType:ZOS, 
   dbHost:host, 
   dbPort:port_number, 
   dbName:subsystem, 
   dbUser:user_ID, 
   dbPassword:password, 
   sql:¥"SELECT N_NAME FROM NATION WHERE N_NATIONKEY < 10¥" 
   }"
https://localhost/tuning/webve
出力
{        
"code" :0 ,        
"link" :"http://localhost:8080/ tuning/showwebve/webve/1394679279138-
      6626301199030/"
} 

例 2

この例では、cURL を使用して webve API に SQL ステートメントを渡しています。 ただし、表 user_ID.NATION は未定義であるため、エラーが発生します。

入力
curl 
--insecure 
-X POST 
-H "Content-Type: application/json; charset=UTF-8"
--data "{  
   dbType:ZOS, 
   dbHost:host, 
   dbPort:port_number, 
   dbName:subsystem, 
   dbUser:user_ID, 
   dbPassword:password, 
   sql:¥"SELECT N_NAME FROM NATION WHERE N_NATIONKEY < 10¥",
   }"
https://localhost/tuning/webve
出力
{ 
"code":8, 
"error":"The EXPLAIN statement failed. The following error was returned: 
   SQLCODE: -204, SQLSTATE: 42704.The SQL statement failed.", 
"exception":"com.ibm.datatools.dsoe.explain.zos.exception.ExplainException:
   com.ibm.datatools.dsoe.common.da.exception.OSCSQLException:
   com.ibm.db2.jcc.am.SqlSyntaxErrorException: user_ID.NATION IS AN
      UNDEFINED NAME.
   SQLCODE=-204, SQLSTATE=42704, DRIVER=3.67.24..." 
}

フィードバック