Accédez à DB2 for i depuis .NET et C#

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à.

  • Sans driver, 100% .NET
  • Compatible .NET Core, .NET 6 à 10
  • Procédures stockées, transactions, types natifs...

DB2 for i, une base de données d'entreprise

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.

Fiabilité éprouvée

Journalisation native, sauvegarde des transactions et haute disponibilité, intégrées au système.

Données centralisées

Clients, factures, données de production : votre source de vérité est sur IBM i.

Standards ouverts

Compatible SQL, XML, JSON : des formats que vos équipes connaissent déjà.

L'accès .NET à l'IBM i
nouvelle génération

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 un driver
Appli .NET
Wrapper ADO.NET
Driver (ODBC, OleDB, iDB2...) Code natif dépendant de la plateforme
IBM i
Avec NTi
Appli .NET
NTi
IBM i

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.

DB2 for i intégré
à votre projet .NET

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.

NuGet

Un package à référencer dans votre projet .NET.

ADO.NET

Connexion, commande, reader, paramètres, transactions.

Entity Framework Core

Définissez vos tables comme des classes C#, sans écrire de SQL, avec l'extension dédiée Aumerial.EntityFrameworkCore .

Multiplateforme

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();

Tout l'accès DB2 for i
en C# standard

Requêtes SQL

SELECT, INSERT, UPDATE, DELETE.

Requêtes paramétrées

Protégez vos requêtes contre les injections SQL.

Transactions

Commit et rollback pour garantir l'intégrité de vos écritures métier.

Procédures SQL

Appels de procédures stockées avec paramètres d'entrée et de sortie.

Types DB2 for i

BLOB, CLOB, XML, géospatial : tous les types DB2 for i mappés en .NET.

Pool de connexion

Connexions réutilisées pour limiter les ouvertures répétées.

Dapper

Idéal pour mapper vos résultats SQL vers vos objets C#.

Avec Dapper
var 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#.

Conçu pour l'IBM i

NTi s'appuie sur les mécanismes natifs de l'IBM i pour accéder à DB2 for i.

SQL délégué à 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.

Authentification IBM i

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.

Des connexions propres

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.

Questions fréquentes