Pase los siguientes pares de claves y valores a la API mediante este URL: https://localhost/tuning/webve
| Clave | Valor | Valores posibles | Valor predeterminado |
|---|---|---|---|
| dbType | El tipo de servidor de datos. | ZOS | |
| dbHost | El host del servidor de datos. | Nombre de dominio o dirección IP | |
| dbPort | El número de puerto del servidor de datos | ||
| dbName | El nombre del servidor de datos | ||
| dbUser | El ID que se ha de utilizar para conectarse al servidor de datos. | ||
| dbPassword | La contraseña que se ha de utilizar para conectarse al servidor de datos. | ||
| sql | Texto de la sentencia SQL. | ||
| schema | El esquema que ha de utilizar el proceso EXPLAIN para los objetos no calificados de la sentencia SQL. Este valor altera temporalmente el valor establecido en el archivo tuning_service.properties. | ||
| sqlid | Establece el valor para el registro especial CURRENT SQLID. | Si no especifica un valor, el servicio de ajuste utiliza el ID de autorización especificada para la conexión en el subsistema. |
La API devuelve los siguientes pares de claves y valores:
| Clave | Valor |
|---|---|
| code | El código de retorno de la API web.
|
| link | El URL del gráfico del plan de acceso. De forma predeterminada, el enlace caduca después de 7 días. Puede cambiar este periodo de tiempo en el archivo tuning_service.properties. |
| message | Cualquier mensaje de error o de aviso. |
| exception | Información acerca de la excepción, si se ha producido una. Esta información puede ser útil para el servicio de soporte de IBM si trabaja con ellos para la resolución de un problema. |
En este ejemplo se utiliza cURL para pasar una sentencia SQL a la API webve, la cual devuelve el URL donde está ubicado el gráfico de plan de acceso.
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/"
}
En este ejemplo se utiliza cURL para pasar una sentencia SQL a la API webve. Sin embargo, existe un error ya que la tabla user_ID.NATION no está definida.
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":"Ha fallado la sentencia EXPLAIN. Se ha devuelto el siguiente error: SQLCODE: -204, SQLSTATE: 42704. Ha fallado la sentencia SQL. ,
"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..."
}