> Tech > Envoyer des entrées à  la file d’attente de données

Envoyer des entrées à  la file d’attente de données

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Après avoir créé une référence à l’ensemble ADODB et créé une instruction Import, vous pouvez commencer à utiliser l’ADO et le provider IBM OLE DB pour envoyer des entrées à une file d’attente de données sur l’iSeries. La figure 3 montre le code à cet effet.

Au début

du code, on peut voir où sont créées les instances d’une connexion ADO et d’un objet Recordset nommé ADOcn et ADOrs. Comme son nom l’indique, l’objet ADO Connection ouvre une connexion vers la source de données, et l’objet ADO Recordset extrait en principe un jeu de résultats.

Cependant, dans le cas de l’accès à la file d’attente de données, le provider IBMDA400 OLE DB reconnaît la commande OPEN DATAQUEUE et change pour passer de l’accès aux tables de base de données à l’accès aux files d’attente de données.

Ensuite, la méthode Open de l’objet ADOcn Connection initie une connexion active avec les systèmes de base de données. Le premier paramètre de la méthode Open prend une chaîne de connexion OLE DB. Dans ce cas, le mot-clé PROVIDER indique que le provider IBMDA400 OLE DB pour iSeries est utilisé. Le mot-clé DATA SOURCE fournit le nom du système iSeries. Les deux paramètres suivants doivent être des chaînes vides.

Une fois la connexion ouverte, la méthode Execute de l’objet ADOcn Connection est utilisée pour envoyer la commande OPEN DATAQUEUE au système iSeries connecté. Figure 3, on voit que le nom de la file d’attente de données DQSEND dans la bibliothèque MIKEO est ouvert. Les paramètres suivants décrivent les données à envoyer via le ADO Recordset. Dans cet exemple, un champ de 10 caractères nommé DQData est envoyé à la file d’attente de données. La clause « for send » à la fin de la commande OPEN DATAQUEUE spécifie que cette connexion est utilisée pour envoyer des entrées à la file d’attente de données.

La section suivante du code passe la valeur qui se trouve dans la boîte de texte nommée TextBox1 à la méthode AddNew de Recordset.
Bien que le ADO Recordset permette des méthodes supplémentaires, seule la méthode AddNew peut être utilisée pour envoyer des entrées à une file d’attente de données. Ensuite, le Recordset est fermé et la boîte de texte est effacée. Près de la fin de cette sous-routine, l’on voit que l’objet ADOcn Connection est lui aussi fermé. Il est important d’appeler explicitement la méthode Close pour s’assurer que les ressources des objets seront libérées.

Par souci de simplicité, cet exemple inclut tout le code nécessaire pour ouvrir et fermer la connexion et les objets Recordset, ainsi que pour envoyer des entrées à la file d’attente de données. Il est ainsi plus facile de comprendre le processus mais en lui ajoutant un overhead superflu. On peut améliorer nettement la performance en déplaçant l’ouverture de l’objet Connection et de l’objet Recordset en un point de votre projet qui est exécuté une fois pour ouvrir les objets nécessaires (par exemple, la routine Form_Load).
Cette méthode ne laisse que les portions send du code dans la routine qui s’exécute de façon répétitive dans l’application, accélérant considérablement l’envoi – moins d’une seconde pour des applications locales. Il existe une variante de l’exemple de programme, où ces optimisations de performance sont incluses, téléchargeable en même temps que le projet utilisé dans cet article.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT