Requêtes SQL
SELECT, INSERT, UPDATE, DELETE.
NTi Data Provider implémente le modèle ADO.NET et offre un accès complet à DB2 for i, avec les méthodes et la syntaxe que les développeurs .NET connaissent déjà.
Moteur relationnel intégré au système d’exploitation IBM i, encore souvent appelé AS/400 ou iSeries dans de nombreuses entreprises, DB2 for i est reconnu pour sa fiabilité et ses performances sur des volumes de transactions élevés. Vos données métier y sont stockées depuis des années, sécurisées et cohérentes.
À l'heure du .NET moderne, on doit pouvoir y accéder simplement et nativement, quel que soit l'endroit où l'application s'exécute.
Journalisation native, sauvegarde des transactions et haute disponibilité, intégrées au système.
Clients, factures, données de production : votre source de vérité est sur IBM i.
Compatible SQL, XML, JSON : des formats que vos équipes connaissent déjà.
Les drivers traditionnels, que ce soit ODBC ou OleDB, sont écrits en code natif et compilés pour une architecture précise. Ils fonctionnent indépendamment de l'application : l'accès à l'IBM i passe par un composant externe, et l'application qui en résulte dépend de l'environnement sur lequel elle est déployée.
NTi change complètement l'approche : de la connexion à l'échange des données, tout est réalisé par du code .NET, portable sur toutes les plateformes. Ainsi, il n'y a plus aucune contrainte de déploiement pour l'application.
Avec NTi, l'accès à DB2 for i reste dans l'application .NET.
Il n'est plus porté par un composant externe installé sur chaque environnement.
Une fois le package
Aumerial.Data.Nti
ajouté à votre projet, l'accès à DB2 for i se fait directement depuis votre code C#, avec les objets standards du modèle ADO.NET.
Un package à référencer dans votre projet .NET.
Connexion, commande, reader, paramètres, transactions.
Définissez vos tables comme des classes C#, sans écrire de SQL, avec l'extension dédiée
Aumerial.EntityFrameworkCore
.
Windows, Linux, Docker, ARM, IBM Power...
$ dotnet add package Aumerial.Data.Nti
using Aumerial.Data.Nti; using var conn = new NTiConnection( "server=IBMI;user=USER;password=PWD" ); conn.Open(); using var cmd = conn.CreateCommand(); cmd.CommandText = "SELECT COUNT(*) FROM MYLIB.CUSTOMERS"; var count = cmd.ExecuteScalar();
SELECT, INSERT, UPDATE, DELETE.
Protégez vos requêtes contre les injections SQL.
Commit et rollback pour garantir l'intégrité de vos écritures métier.
Appels de procédures stockées avec paramètres d'entrée et de sortie.
BLOB, CLOB, XML, géospatial : tous les types DB2 for i mappés en .NET.
Connexions réutilisées pour limiter les ouvertures répétées.
Idéal pour mapper vos résultats SQL vers vos objets C#.
Utilisez DB2 for i avec l’ORM standard de l’écosystème .NET.
Voir la page EF Corevar customers = conn.Query<Customer>( "SELECT CUSTNO, NAME, CITY FROM MYLIB.CUSTOMERS" ).ToList();
Dapper est un micro-ORM .NET : avec NTi, une seule ligne, et vos résultats DB2 for i sont prêts à l'emploi en C#.
NTi s'appuie sur les mécanismes natifs de l'IBM i pour accéder à DB2 for i.
Fonctions scalaires, curseurs, LOB, données géospatiales : autant de traitements que vous confiez à DB2 for i plutôt qu'à votre code .NET.
NTi se connecte avec votre nom d'utilisateur et mot de passe IBM i, via les services système *DATABASE et *SIGNON, comme n'importe quelle connexion à l'IBM i.
Côté base de données, NTi établit une connexion TCP/IP dédiée (QZDASOINIT) qui s'ouvre et se ferme avec votre application. Pas de jobs résiduels, pas de dérive de ressources.
Vous ne créez pas une porte d'entrée parallèle dans votre système.
Vous utilisez les services standards de votre IBM i, avec une couche .NET moderne côté application.
Avec NTi Data Provider, le connecteur ADO.NET conçu pour l'IBM i. Ajoutez le package NuGet
Aumerial.Data.Nti
à votre projet, renseignez votre chaîne de connexion, et ouvrez la connexion.
La syntaxe reprend le modèle ADO.NET standard :
NTiConnection, CreateCommand,
ExecuteReader et ExecuteNonQuery.
Non. NTi ne repose pas sur les drivers natifs généralement utilisés pour connecter .NET à DB2 for i, comme ODBC ou OLE DB.
L’accès à la base de données est réalisé en code .NET managé, directement depuis l’application. Aucun driver n’est à installer sur les postes de développement, les serveurs ou les conteneurs.
Résultat : vous obtenez un accès DB2 for i natif et 100 % .NET, intégré à votre application. Vous pouvez viser Windows, Linux, Docker, ARM ou IBM Power avec le même projet, sans dépendre d’un driver natif à installer, configurer ou adapter selon l’environnement.
Côté IBM i, aucun composant tiers n’est requis pour accéder à DB2 for i. Les services TCP/IP standards nécessaires doivent être actifs, et une clé de licence NTi est requise.
Oui. NTi implémente le modèle ADO.NET standard.
Vous utilisez les mêmes principes qu’avec SQL Server ou PostgreSQL : connexion, commande SQL, paramètres, reader, transactions et exécution de requêtes. Le code reste familier pour un développeur .NET ; seul le connecteur change.
NTi est également compatible avec Dapper.
Vous pouvez écrire vos requêtes SQL DB2 for i et mapper directement les résultats
vers vos classes C#, sans configuration spécifique.
NTi prend en charge les types de données DB2 for i et leur conversion vers les types .NET :
chaînes, numériques, décimaux, dates, heures, timestamps, ainsi que les champs LOB comme
BLOB, CLOB et XML.
Vous pouvez aussi déléguer les traitements à DB2 for i directement côté serveur : fonctions scalaires, agrégats, logique procédurale. Plutôt que de rapatrier des volumes de données brutes dans votre application .NET pour les traiter, vous laissez DB2 for i faire le travail au plus près des données, et NTi récupère le résultat.
Oui. DB2 for i peut être utilisé avec Entity Framework Core grâce à l'extension dédiée
Aumerial.EntityFrameworkCore
, disponible séparément sur NuGet.
Vous pouvez définir vos tables comme des classes C# et interroger DB2 for i sans écrire de SQL : EF Core est un ORM qui traduit automatiquement vos requêtes LINQ (une syntaxe objet intégrée à C#) en SQL DB2 for i. L'extension gère le mapping des types DB2 for i vers leurs équivalents .NET, décimaux, dates, timestamps, champs LOB, sans configuration manuelle. Elle prend en charge le DB First, le Code First et les migrations EF Core.