xa_open
Prototypes
int xa_open(char *xa_info, int rmid, long flags);
Description
Ouvre le gestionnaire de ressources identifié par rmid selon la chaîne de connexion xa_info et les options flags.
Cette Application Program Interface (API) est fournie par le gestionnaire de ressources au moniteur transactionnel. Ce dernier décide des identifications.
La chaîne de connexion comprend généralement :
- DB.
Pour spécifier la base de données.
- UID.
Pour spécifier le nom de l'utilisateur.
- PWD.
Pour spécifier le mot de passe.
Les valeurs possibles du codage bit de flags sont les suivantes :
- TMNOFLAGS.
Pas d'options.
- TMUSEASYNC.
Demande du traitement asynchrone des requêtes sur les transactions.
- TMNOMIGRATE.
Demande à ce que les transactions soit la propriété d'une seule tâche. Elles ne peuvent pas migrer d'une tâche à l'autre.
- TMREGISTER.
Demande à enregistrer dynamiquement le gestionnaire de ressources.
En cas d'enregistrement dynamique, ax_reg et ax_unreg sont appelés par le gestionnaire de ressources.
En cas d'enregistrement statique, xa_start et xa_end sont appelés par le moniteur transactionnel.
Les valeurs possibles du code retour sont les suivantes :
- XAER_RMERR.
Erreur interne.
- XAER_ASYNC.
Le mode asynchrone n'est pas supporté.
- XAER_INVAL.
Un paramètre possède une valeur invalide.
- XA_OK.
Succès.
Exemple
#include <xa.h>
static int rmid;
static xa_switch_t *XaSwitch;
...
if ((*XaSwitch->xa_open_entry)("UID=scott,PWD=tiger,DB=db2_aix,AXLIB=/usr/ups/upsvtm/bin/libupsoms.a,HOLD_CURSOR=T,SUSPEND_CURSOR=F", rmid, TMREGISTER)!=XA_OK)
...
if ((*XaSwitch->xa_close_entry)("UID=scott,PWD=tiger,DB=db2_aix,AXLIB=/usr/ups/upsvtm/bin/libupsoms.a", rmid, TMNOFLAGS)!=XA_OK)
...
Voir aussi
xa_close pour fermer un gestionnaire de ressources.