, , Utilisation d’une remote DTAQ

Une DTAQ est une solution qui permet de gérer des entrées empilées de manière asynchrone (un peu comme MQ series qui lui est en plus multi systèmes)

Pour définir une remote outq

Cette technologie se base sur DRDA, c’est la solution qui est utilisée par SQL quand vous faites un CONNECT sur une base de données distante.

Sur le système source

Vous devez définir votre base de données par la commande WRKDBDIRE

ADDRDBDIRE RDB(‘Nom_base_de donnees’)
RMTLOCNAME(‘nom ou adresse IP’ IP) RMTAUTMTH(USRID *NOALWLOWER)

Vous devez indiquer,
l’adresse IP ou le nom IP résolu
le mode de connexion qui sera négocié à l’établissement de celle ci

Vous devez créer une dtaq remote

CRTDTAQ DTAQ(Nom_bib_loc/Nom Dtaq)
TYPE(DDM) RMTDTAQ(nom_bib_dis/Nom_Dtaq) RMTLOCNAME(RDB)
RDB(‘Nom_base_de_donnees’)

Sur le système cible

Vous devez créer une dtaq locale

CRTDTAQ DTAQ(Nom_bib_dis/Nom Dtaq)
TYPE(*DDM)
MAXLEN(longueur_de_vos_données)

si vous avez choisi une solution de connexion à base de profil, vous devez l’enregistrer en créant un poste d’authentification

ADDSVRAUTE USRPRF(*CURRENT) SERVER(NEPTUNE) USRID(PLB) PASSWORD()

Vous devez indiquer l’utilisateur local qui servira à faire la requête d’écriture.

Pour voir les postes existants, vous avez une vue SQL

SELECT *
FROM QSYS2.DRDA_AUTHENTICATION_ENTRY_INFO

le service DDM doit être démarré

STRTCPSVR *DDM

Pour écrire dans votre DTAQ

Sur la source, vous devez écrire des postes à la demande

Par L’API

Call QSNDDTAQ

Par la procédure SQL service, depuis le niveau 4 de la TR en 7.4

QSYS2.SEND_DATA_QUEUE()

sur la cible,

Pour écrire lire votre DTAQ

Vous devez avoir un traitement qui boucle pour traiter vos entrées

par l’API

Call QRCVDTAQ

Par la fonction SQL service, depuis le niveau 4 de la TR en 7.4

QSYS2.RECEIVE_DATA_QUEUE()

Conclusions


Vous pouvez mettre en place une solution de remote outq, pour répliquer des changement de mots passe par exemple !

Si vous utilisez des DTAQ, vous aurez besoin d’une commande pour visualiser le contenu de celle ci, vous pouvez en trouver un ici c’est la commande DSPDTAQ

https://github.com/Plberthoin/PLB/tree/master/GTOOLS