Service SQL IBM i (AS/400) · Fonction table
SYSTOOLS.PING
Tester la connexion à un système distant
Teste la connectivité réseau vers un système distant par son nom ou son adresse IP, avec les temps aller-retour : l'équivalent SQL de PING.
À quoi ça sert
Cette fonction de table envoie des paquets vers REMOTE_SYSTEM (nom d'hôte) ou REMOTE_IP_ADDRESS et renvoie le résultat : pourcentage de réussite, paquets envoyés, réponses reçues, temps aller-retour moyen, minimal et maximal, nom d'hôte et adresse IP distants.
Les paramètres reprennent ceux de la commande : nombre de paquets (NUMBER_PACKETS_TO_SEND, 5 par défaut), longueur (PACKET_LENGTH_TO_SEND, 256), temps d'attente (WAIT_TIME, 1), version de l'adresse (ADDRESS_VERSION_FORMAT) et adresse locale (LOCAL_IP_ADDRESS).
En SQL, on peut tester une liste de serveurs d'un coup, en joignant la fonction à une table d'inventaire, et conserver les temps de réponse dans une table pour les suivre.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
SELECT * FROM TABLE(SYSTOOLS.PING(REMOTE_SYSTEM => 'LOOPBACK', NUMBER_PACKETS_TO_SEND => 3)) X
Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :
| RESULT Résultat | PERCENT_SUCCESSFUL Pourcentage de réussite | PACKETS_SENT Nombre de paquets envoyés | RESPONSES_RETURNED Nombre de réponses reçues | ROUND_TRIP_AVG Temps aller-retour moyen | ROUND_TRIP_MIN Temps aller-retour minimal | ROUND_TRIP_MAX Temps aller-retour maximal | REMOTE_HOST_NAME Nom d'hôte distant | REMOTE_IP_ADDRESS Adresse IP distante |
|---|---|---|---|---|---|---|---|---|
| SUCCESS | 100 | 3 | 3 | 0 | 0 | 0 | LOOPBACK | 127.0.0.1 |
Données anonymisées : les noms de système, de profils, de
bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma
JOBISQL sont des objets de démonstration créés pour ce site.
L'exemple d'IBM
Vérifier la connectivité vers un système distant à partir de son nom.
-- Description: Verify connectivity to a remote system by name.
SELECT * FROM TABLE(SYSTOOLS.PING('REMOTESYS'));
Bon à savoir
La colonne PERCENT_SUCCESSFUL est la plus parlante : en dessous de 100 %, le chemin réseau est instable même si une réponse revient.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
REMOTE_SYSTEM |
VARCHAR(255) | '*INTNETADR' | Système distant |
REMOTE_IP_ADDRESS |
VARCHAR(45) | NULL | Adresse IP distante |
ADDRESS_VERSION_FORMAT |
VARCHAR(5) | '*CALC' | Format de version de l'adresse |
NUMBER_PACKETS_TO_SEND |
INTEGER | 5 | Nombre de paquets à envoyer |
PACKET_LENGTH_TO_SEND |
INTEGER | 256 | Longueur des paquets à envoyer |
WAIT_TIME |
INTEGER | 1 | Temps d'attente |
LOCAL_IP_ADDRESS |
VARCHAR(45) | '*ANY' | Adresse IP locale |
Colonnes renvoyées (9)
Afficher les 9 colonnes
| Colonne | Type | Signification |
|---|---|---|
RESULT |
VARCHAR(7) | Résultat |
PERCENT_SUCCESSFUL |
INTEGER | Pourcentage de réussite |
PACKETS_SENT |
INTEGER | Nombre de paquets envoyés |
RESPONSES_RETURNED |
INTEGER | Nombre de réponses reçues |
ROUND_TRIP_AVG |
INTEGER | Temps aller-retour moyen |
ROUND_TRIP_MIN |
INTEGER | Temps aller-retour minimal |
ROUND_TRIP_MAX |
INTEGER | Temps aller-retour maximal |
REMOTE_HOST_NAME |
VARCHAR(255) | Nom d'hôte distant |
REMOTE_IP_ADDRESS |
VARCHAR(45) | Adresse IP distante |