Transmettez à l'API les paires de clés et de valeurs suivantes en utilisant l'URL : https://localhost/tuning/webve
| Clé | Valeur | Valeurs admises | Valeur par défaut |
|---|---|---|---|
| dbType | Type de serveur de données. | ZOS | |
| dbHost | Hôte du serveur de données. | Nom du domaine ou adresse IP. | |
| dbPort | Numéro de port du serveur de données. | ||
| dbName | Nom du serveur de données. | ||
| dbUser | ID à utiliser lors de la connexion au serveur de données. | ||
| dbPassword | Mot de passe à utiliser lors d'une connexion au serveur de données. | ||
| sql | Texte de l'instruction SQL. | ||
| schema | Schéma du processus EXPLAIN à utiliser pour les objets non habilités dans l'instruction SQL. Cette valeur remplace la valeur définie dans le fichier tuning_service.properties. | ||
| sqlid | Définit la valeur du registre spécial CURRENT SQLID. | Si vous n'indiquez pas de valeur, le service d'optimisation utilise l'ID d'autorisation spécifié pour la connexion au sous-système. |
L'API renvoie les paires de clés et de valeurs suivantes :
| Clé | Valeur |
|---|---|
| code | Code retour de l'API Web.
|
| link | URL du graphique de plan d'accès. Par défaut, le lien expire au bout de sept jours. Vous pouvez modifier cette durée dans le fichier tuning_service.properties. |
| message | Messages d'erreur ou d'avertissement. |
| exception | Informations sur l'exception, le cas échéant. Ces informations peuvent être utiles au service de support IBM si vous le contactez pour résoudre un problème. |
Cet exemple utilise cURL pour transmettre une instruction SQL à l'API webve, qui renvoie l'URL permettant de consulter le graphique de plan d'accès.
curl
--insecure
-X POST
-H "Content-Type: application/json; charset=UTF-8"
--data "{
dbType:ZOS,
dbHost:hôte,
dbPort:numéro_port,
dbName:sous-système,
dbUser:ID_utilisateur,
dbPassword:mot_de_passe,
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/"
}
Cet exemple utilise cURL pour transmettre une instruction SQL à l'API webve. Toutefois, une erreur se produit car la table ID_utilisateur.NATION n'est pas définie.
curl
--insecure
-X POST
-H "Content-Type: application/json; charset=UTF-8"
--data "{
dbType:ZOS,
dbHost:hôte,
dbPort:numéro_port,
dbName:sous-système,
dbUser:ID_utilisateur,
dbPassword:mot_de_passe,
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: ID_utilisateur.NATION IS AN
UNDEFINED NAME.
SQLCODE=-204, SQLSTATE=42704, DRIVER=3.67.24..."
}