Exécuter une commande CL IBM i (AS/400) en C# (.NET) avec NTi
Introduction
Ce tutoriel montre comment exécuter une commande CL sur un IBM i (AS/400) depuis une application C# (.NET) en utilisant NTi Data Provider.
Les commandes CL (Control Language) permettent d’interagir directement avec le système IBM i pour automatiser des actions comme la création de bibliothèques, la gestion des objets ou l’exécution de traitements batch.
Grâce à NTi, il est possible d’exécuter ces commandes sans passer par une interface 5250, directement depuis du code .NET moderne.
Étape 1 - Ouvrir la connexion
Déclarez une instance de NTiConnection et ouvrez la connexion :
using var conn = new NTiConnection("server=serverName;user=userName;password=password");
conn.Open();
💡 L'utilisation de
using vargarantit que la connexion sera automatiquement fermée et libérée à la fin du bloc, même en cas d'erreur.
Étape 2 - Exécuter une commande CL
Utilisez la méthode ExecuteClCommand() de NTiConnection
pour exécuter une commande CL :
conn.ExecuteClCommand("CRTLIB LIB(MYLIB) TEXT('My new library')");Étape 3 - Gérer les erreurs
En cas d'erreur, NTi lève une exception de type NTiException contenant le message d'erreur IBM i. Encapsulez l'appel dans un bloc try/catch pour l'intercepter :
try
{
conn.ExecuteClCommand("CRTLIB LIB(MYLIB) TEXT('My new library')");
}
catch (NTiException ex)
{
Console.WriteLine(ex.Message);
}Récapitulatif
Code complet pour exécuter une commande CL depuis .NET avec NTi :
using var conn = new NTiConnection("server=serverName;user=userName;password=password");
conn.Open();
try
{
conn.ExecuteClCommand("CRTLIB LIB(MYLIB) TEXT('My new library')");
}
catch (NTiException ex)
{
Console.WriteLine(ex.Message);
}Et maintenant ?
- Appeler un programme - appel de programme RPG avec paramètres d'entrée/sortie
- Procédure stockée - appel de procédure stockée SQL avec Dapper et DataReader
- Appeler une API système - appel d'une API IBM i système via un User Space