|
|
|
|
|
- Application réseau (base de données ISAM)
- Blocage des enregistrements
- Cas d'erreurs
- Fichiers temporaires créés lors de la transaction (base de données ISAM)
- Manipulations d'enregistrements pendant une transaction
- Transactions et contexte HFSQL indépendant
- OLE DB et Connecteurs Natifs
HTransaction (Fonction) En anglais : HTransaction
Non disponible avec ce type de connexion
Démarre une transaction sur les fichiers de données (HFSQL ou accédés via Connecteur Natif) et crée le fichier des transactions. Quelles sont les informations enregistrées dans le fichier des transactions ? Chaque fois qu'une fonction WLangage effectue une modification sur un fichier de données ou d'index pendant la transaction, les anciennes valeurs de l'enregistrement et l'opération effectuée sont mémorisées dans le fichier des transactions. MaConnexion1 est une Connexion  // Début de la transaction sur les fichiers de données associés à la connexion MaConnexion1 HTransaction(MaConnexion1) Ajout_Commande() QUAND EXCEPTION DANS // Ajout de la commande HAjoute(Commande) // Validation de l'ajout HTransactionFin(MaConnexion1) FAIRE // Suppression des lignes de commandes HTransactionAnnule(MaConnexion1) FIN
// Début de la transaction sur les fichiers de données Commande et LigneCde HTransaction("C:\Temp\Transaction.trs", "Commande,LigneCde,-Client") Ajout_Commande() QUAND EXCEPTION DANS // Ajout de la commande HAjoute(Commande) // Validation de l'ajout HTransactionFin() FAIRE // Suppression des lignes de commandes HTransactionAnnule() FIN
Syntaxe
Débuter une transaction Client/Serveur sur une connexion spécifique Masquer les détails
<Résultat> = HTransaction(<Connexion> [, <Liste des fichiers de données>])
<Résultat> : Booléen - Vrai si la transaction a débuté,
- Faux en cas de problème. La fonction HErreurInfo permet d'obtenir plus de renseignements sur l'erreur.
<Connexion> : Chaîne de caractères ou variable de type Connexion Connexion à manipuler. Cette connexion correspond : Si ce paramètre correspond à une chaîne vide ("") ou à la constante hAccèsHF7 : La transaction est réalisée sur les fichiers HFSQL ISAM. <Liste des fichiers de données> : Chaîne de caractères optionnelle Liste de noms logiques d'un ou de plusieurs fichiers de données à prendre en compte dans la transaction ou non (dans ce cas le nom du fichier de données est précédé du signe "-"). | | Si ce paramètre n'est pas précisé | Tous les fichiers de données manipulés pendant la transaction seront pris en compte dans la transaction. | Si tous les fichiers de données sont préfixés par le signe "-" Par exemple : "-Client, -Produit" | Tous les fichiers de données spécifiés dans la liste et manipulés pendant la transaction ne seront pas pris en compte par la transaction. Tous les fichiers de données non précisés dans la liste seront pris en compte et manipulés durant la transaction. | Si aucun fichier de données de la liste n'est préfixé par le signe "-" Par exemple : "Client, Produit" | Tous les fichiers de données spécifiés dans la liste et manipulés durant la transaction seront pris en compte dans la transaction. Tous les fichiers de données non spécifiés et manipulés durant la transaction ne seront pas pris en compte dans la transaction. | Si certains fichiers de données sont préfixés par "-" et d'autres non Par exemple : "-Client, Produit" (équivalent à "Produit") | Tous les fichiers de données dans la liste préfixés par "-" et manipulés durant la transaction ne seront pas pris en compte dans la transaction. Tous les fichiers de données dans la liste non préfixés par "-" et manipulés durant la transaction seront pris en compte dans la transaction. Les fichiers de données non mentionnés dans la liste seront exclus de la transaction. |
Débuter une transaction Client/Serveur sur une connexion spécifique ou une transaction ISAM Masquer les détails
<Résultat> = HTransaction(<Connexion> , <Fichier de transaction> , <Liste des fichiers de données>)
<Résultat> : Booléen - Vrai si la transaction a débuté,
- Faux en cas de problème. La fonction HErreurInfo permet d'obtenir plus de renseignements sur l'erreur.
<Connexion> : Chaîne de caractères ou variable de type Connexion Connexion à utiliser. Cette connexion correspond : Si ce paramètre correspond à une chaîne vide ("") ou à la constante hAccèsHF7 : La transaction est réalisée sur les fichiers HFSQL ISAM. <Fichier de transaction> : Chaîne de caractères <Liste des fichiers de données> : Chaîne de caractères Liste de noms logiques d'un ou de plusieurs fichiers de données à prendre en compte dans la transaction ou non (dans ce cas le nom du fichier de données est précédé du signe "-"). | | Si ce paramètre n'est pas précisé | Tous les fichiers de données manipulés pendant la transaction seront pris en compte dans la transaction. | Si tous les fichiers de données sont préfixés par le signe "-" Par exemple : "-Client, -Produit" | Tous les fichiers de données spécifiés dans la liste et manipulés pendant la transaction ne seront pas pris en compte par la transaction. Tous les fichiers de données non précisés dans la liste seront pris en compte et manipulés durant la transaction. | Si aucun fichier de données de la liste n'est préfixé par le signe "-" Par exemple : "Client, Produit" | Tous les fichiers de données spécifiés dans la liste et manipulés durant la transaction seront pris en compte dans la transaction. Tous les fichiers de données non spécifiés et manipulés durant la transaction ne seront pas pris en compte dans la transaction. | Si certains fichiers de données sont préfixés par "-" et d'autres non Par exemple : "-Client, Produit" (équivalent à "Produit") | Tous les fichiers de données dans la liste préfixés par "-" et manipulés durant la transaction ne seront pas pris en compte dans la transaction. Tous les fichiers de données dans la liste non préfixés par "-" et manipulés durant la transaction seront pris en compte dans la transaction. Les fichiers de données non mentionnés dans la liste seront exclus de la transaction. |
Débuter une transaction ISAM et/ou Client/Serveur sur toutes les connexions HFSQL Client/Serveur (existantes ou à venir) Masquer les détails
<Résultat> = HTransaction([<Fichier de transaction> [, <Liste des fichiers de données>]])
<Résultat> : Booléen - Vrai si la transaction a débuté,
- Faux en cas de problème. La fonction HErreurInfo permet d'obtenir plus de renseignements sur l'erreur.
<Fichier de transaction> : Chaîne de caractères optionnelle <Liste des fichiers de données> : Chaîne de caractères optionnelle Liste de noms logiques d'un ou de plusieurs fichiers de données à prendre en compte dans la transaction ou non (dans ce cas le nom du fichier de données est précédé du signe "-"). | | Si ce paramètre n'est pas précisé | Tous les fichiers de données manipulés pendant la transaction seront pris en compte dans la transaction. | Si tous les fichiers de données sont préfixés par le signe "-" Par exemple : "-Client, -Produit" | Tous les fichiers de données spécifiés dans la liste et manipulés pendant la transaction ne seront pas pris en compte par la transaction. Tous les fichiers de données non précisés dans la liste seront pris en compte et manipulés durant la transaction. | Si aucun fichier de données de la liste n'est préfixé par le signe "-" Par exemple : "Client, Produit" | Tous les fichiers de données spécifiés dans la liste et manipulés durant la transaction seront pris en compte dans la transaction. Tous les fichiers de données non spécifiés et manipulés durant la transaction ne seront pas pris en compte dans la transaction. | Si certains fichiers de données sont préfixés par "-" et d'autres non Par exemple : "-Client, Produit" (équivalent à "Produit") | Tous les fichiers de données dans la liste préfixés par "-" et manipulés durant la transaction ne seront pas pris en compte dans la transaction. Tous les fichiers de données dans la liste non préfixés par "-" et manipulés durant la transaction seront pris en compte dans la transaction. Les fichiers de données non mentionnés dans la liste seront exclus de la transaction. |
Remarques Blocage des enregistrements Les enregistrements ajoutés, modifiés ou supprimés dans une transaction sont bloqués en écriture. Cas d'erreurs - Imbrication de transactions : Il est impossible d'imbriquer les transactions (c'est-à -dire d'appeler la fonction HTransaction dans une transaction). Dans ce cas, l'erreur 70031 est générée.
- Une erreur fatale est affichée dans les cas suivants :
- Une transaction est débutée sur toutes les connexions alors qu'il existe au moins une connexion en transaction.
- Une transaction sur une connexion est débutée après avoir commencé une transaction sur toutes les connexions.
- Une transaction sur toutes les connexions est débutée alors qu'il existe au moins une connexion dont le mode d'isolation n'est pas "Read Uncommitted".
Transactions et contexte HFSQL indépendant Lors de la copie de contexte, si une transaction est en cours sur le premier contexte, le nouveau contexte n'est pas en transaction. Il faut rappeler la fonction HTransaction pour démarrer une transaction dans le nouveau contexte.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|