> Tech > Se connecter à  l’iSeries

Se connecter à  l’iSeries

Tech - Par iTPro - Publié le 24 juin 2010
email

Avant d'utiliser l'iSeries .NET Data Provider pour vous connecter à  l'application .NET, vous devez définir une référence vis-à -vis de lui dans le Visual Studio.NET IDE. Pour cela, démarrez Visual Studio.NET, cliquez sur le bouton New Project sur la page de départ, puis sélectionnez Visual Basic and Windows Application dans la

Se connecter à  l’iSeries

boîte
de dialogue New Project. Donnez
un nom au projet et cliquez sur OK.
Puis, dans la fenêtre Solution
Explorer, faites un clic droit sur
References pour afficher la boîte de
dialogue Add References que l’on
voit figure 2.
Ensuite, défilez jusqu’à  la liste
Component Name, jusqu’à  trouver
l’option « IBM DB2 UDB for
iSeries ». Sélectionnez la rubrique
dans la liste et cliquez sur OK pour
ajouter la référence à  votre projet.
Une fois que la référence a été ajoutée,
vous êtes prêt à  utiliser
l’iSeries .NET Data Provider dans
votre projet VB.NET.
Ensuite, pour faciliter le coding,
spécifiez une directive d’importation
pour le namespace
IBM.Data.DB2. iSeries dans votre
projet. Ce namespace contient
toutes les classes associées à  l’accès
aux données et à  la connexion
iSeries. La directive d’importation a
pour avantage de vous permettre
d’utiliser les classes contenues
dans le namespace IBM.Data. DB2.
iSeries sans être obligé de qualifier
entièrement chaque instance du
nom de classe. Pour ajouter une directive
d’importation pour le namespace
classe de l’IBM Provider,
ajoutez le code suivant à  la section
déclaration de votre fichier source :

Imports IBM.Data.DB2. iSeries

Vous voilà  prêts à  utiliser
l’iSeries .NET Data Provider dans
vos applications .NET. L’exemple
d’application que je présente dans
cet article énumère le contenu
d’un fichier département exemple
dans une grille et permet aux utilisateurs
d’insérer, de mettre à  jour
et de supprimer des enregistrements
dans le fichier département.
Vous pouvez entrer le SQL DDL
pour créer le fichier Department
exemple en utilisant iSeries
Navigator ou la commande
STRSQL (Start SQL) de l’iSeries.
Voici l’instruction SQL :

create table DEPARTMENT
(DEPID DEC(4,0)not null,
DEPNAME CHAR(25),
primary key(DPNBR))

Pour se connecter à  l’iSeries,
l’application .NET doit d’abord employer
l’objet iDB2Connection
pour ouvrir une connexion vers
l’iSeries. Ensuite, elle doit utiliser
l’iDB2DataAdapter pour connecter
un ADO.NET DataSet au fichier
Department exemple. En plus,
vous devez ajouter quatre objets
iDB2Command à  l’iDB2DataAdapter
pour envoyer des commandes
SELECT, INSERT, UPDATE et DELETE
à  l’iSeries. Autre solution : en
théorie, vous pourriez utiliser l’objet
iDB2CommandBuilder pour
générer automatiquement les commandes
INSERT, UPDATE et DELETE
requises, mais j’ai constaté que
la fonction iDB2CommandBuilder
ne fonctionnait pas bien dans le
code bêta. La figure 3 présente le
code qui exécute ces actions.
En A, les objets iDB2Connection,
iDB2DataAdapter et
DataSet sont déclarés. Pour les
besoins de la démonstration, je les
déclare en haut de la classe VB.NET
Form pour leur donner une portée
au niveau classe. Ensuite, je
nomme l’objet iDB2 Connection
cn, l’iDB2DataAdapter da et le
DataSet ds.
En B, la propriété Connection-
String de l’objet iDB2Connection
se voit attribuer une chaîne de
connexion. Cette dernière utilise le
mot-clé DATASOURCE pour identifier
le système iSeries auquel nous allons nous connecter. Ce mot-clé peut
aussi utiliser l’adresse IP du système.
Les mots-clés USERID et PASSWORD
fournissent les valeurs d’identification
nécessaires pour se connecter à 
l’iSeries.
Ensuite, un objet iDB2Command
nommé SelectCmd est créé. Cette
commande extraira toutes les lignes et
colonnes de la table Department. Le
premier paramètre de la structure
iDB2Command prend la commande
SQL qui sera exécutée et le second paramètre
associe l’iDB2Command avec
un objet iDB2Connection, qui dans ce
cas est nommé cn. Ensuite, l’objet
iDB2Command est attribué à  la
propriété SelectCommand d’iDB2-
DataAdapter. Pour l’essentiel, la
SelectCommand dit à  l’iDB2Data-
Adapter comment extraire des données
de la source de données.
Tout comme la SelectCommand dit
à  l’iDB2DataAdapter comment extraire
des données de la base de données
cible, les objets dans les propriétés
InsertCommand, DeleteCommand et
UpdateCommand de l’iDB2Data-
Adapter disent à  celui-ci comment insérer,
supprimer et mettre à  jour des
données. Ces commandes (en C) sont
toutes construites sur le même modèle.
Premièrement, l’objet iDB2Command
est créé et se voit attribuer
l’instruction SQL et longueur iDB2-
Connection appropriés. Ensuite, l’objet
iDB2 Command est attribué à  la
propriété InsertCommand, Delete-
Command ou UpdateCommand de
l’iDB2DataAdapter. Enfin, les paramètres
pour l’objet iDB2 Command
sont ajoutés à  chacun des objets
iDB2Command respectifs.
Deux points sont particulièrement
importants dans cette section de code.
Premièrement, dans les instructions
SQL qui sont attribuées à  chaque objet
iDB2Command, les paramètres remplaçables
sont marqués à  l’aide du symbole
@. A l’exécution, ces marqueurs
de paramètres seront remplacés par
des valeurs de données qui seront
envoyées à  l’iSeries pour mettre à  jour
la table Department.
Second point important : la provenance
de ces valeurs. Pour chaque
paramètre ajouté, les propriétés
SourceColumn et SourceVersion associent
le paramètre à  une colonne et à 
une valeur trouvées dans le DataSet.
Comme leurs noms l’indiquent, la
propriété SourceColumn indique la
colonne du DataSet d’où viendront les
données pour le paramètre. Et la propriété
SourceVersion indique quelle
version des données il faudra utiliser.
Le DataSet garde les deux copies, avant
et après des données modifiées. Les
données les plus récentes sont identifiées
par la propriété DataRowVersion.
Current, tandis que les données
originales sont gardées dans la propriété
DataRowVersion. Original.

Téléchargez gratuitement cette ressource

IBMi et Cloud : Table ronde Digitale

IBMi et Cloud : Table ronde Digitale

Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

Tech - Par iTPro - Publié le 24 juin 2010