Guide de démarrage rapide
NTi est conçu pour répondre à une réalité que peu d'outils adressent : vous pouvez connecter votre IBM i à .NET et être opérationnel en moins de 15 minutes.
Aucune rupture dans vos activités, aucune formation nécessaire, aucune configuration complexe. Tout s’intègre directement à Visual Studio par simple référencement. Vous codez en C# avec une syntaxe familière et une prise en main immédiate, sans préambules fastidieux liés au RPG.
De plus NTi est entièrement multiplateforme, fonctionnant aussi bien sur Windows, Linux ou macOS, et agnostique aux versions IBM i. Peu importe votre environnement ou la version de votre système.
Simple, rapide et immédiat !
Prérequis
Côté développement
- Visual Studio 2022, JetBrains Rider, ou VS Code avec l'extension C#
- Une version .NET compatible :
- .NET 6 / 7 / 8 / 9 / 10
- .NET Standard 2.1
- .NET Core 3.1
- .NET Framework 4.7 et ultérieur
Côté IBM i
- IBM i V5R4 ou supérieure
- Les services TCP
*DATABASE,*RMTCMDet*SIGNONdémarrés - Une licence NTi active - Démarrer l'essai gratuit
💡 Pour le détail complet des prérequis et de l'installation de la licence, consultez la page Installation.
Étape 1 - Installez NTi via NuGet
Ouvrez un terminal dans votre dossier de projet et ajoutez les packages :
dotnet add package Aumerial.Data.Nti
dotnet add package Dapper
Ou via la console du Gestionnaire de packages Visual Studio :
Install-Package Aumerial.Data.Nti
Install-Package Dapper
💡 Pourquoi Dapper ? Dapper est un micro ORM léger qui mappe automatiquement les résultats SQL sur vos objets C#. Il enrichit votre connexion NTi avec des méthodes intuitives comme
Query<T>ouExecute, pour des interactions plus naturelles avec vos données IBM i.
Étape 2 - Créez la connexion
using Aumerial.Data.Nti;
using Dapper;
using var conn = new NTiConnection("server=serverName;user=userName;password=password");
conn.Open();
Console.WriteLine(conn.State == ConnectionState.Open
? "✅ Connexion IBM i et licence NTi OK."
: "❌ Connexion impossible.");
💡 La chaîne de connexion supporte de nombreux paramètres avancés : SSL/TLS, pool de connexion, MFA, bibliothèque par défaut... Consultez la page Connexion pour la référence complète.
Étape 3 - Lire des données
public class MyRecord
{
public string Id { get; set; }
public string Label { get; set; }
}
var records = conn.Query("SELECT * FROM MYLIB.MYTABLE");Étape 4 - Écrire des données
conn.Execute(@"
UPDATE MYLIB.MYTABLE
SET LABEL = 'Updated'
WHERE ID = 'REC-001'
");
💡 Pour un exemple complet avec Entity Framework Core (Code First, DB First, CRUD), consultez le tutoriel CRUD avec EF Core 8.
Étape 5 - Exploiter toutes les ressources IBM i
NTi va bien au-delà du SQL. Depuis votre code C#, vous accédez à l'ensemble des ressources IBM i.
Exécuter une commande CL
try
{
conn.ExecuteClCommand("CRLIB LIB(MYLIB) TEXT('My new library')");
}
catch (NTiException ex)
{
Console.WriteLine(ex.Message);
}
💡 Consultez le tutoriel Exécuter une commande CL.
Appeler un programme RPG
var parms = new List
{
new NTiProgramParameter("Hello", 10).AsInput(), // CHAR(10) INPUT
new NTiProgramParameter("", 128).AsOutput() // CHAR(128) OUTPUT
};
conn.CallProgram("MYLIB", "MYPGM", parms);
string result = parms[1].GetString(0, 128);
💡 Consultez le tutoriel Appeler un programme pour un exemple complet avec passage de paramètres et récupération des données.
Appeler une procédure stockée
var parameters = new DynamicParameters();
parameters.Add("myParam", dbType: DbType.Decimal, direction: ParameterDirection.Output);
var records = (await conn.QueryAsync(
"MYLIB.MYPROC",
parameters,
commandType: CommandType.StoredProcedure
)).ToList();
💡 Consultez le tutoriel Procédure stockée pour un exemple complet avec les approches DataReader et Dapper.
Et maintenant ?
Vous êtes opérationnel. Voici quelques pages pour aller plus loin :
- Connexion - chaîne de connexion, pool, MFA
- Entity Framework Core - ORM Code First et DB First sur DB2 for i
- Toolbox - spool, commandes CL, jobs et valeurs système