Partager via


Transactions, exemple de technologie

Mise à jour : novembre 2007

Cet exemple montre comment utiliser les transactions dans une application .NET Framework. Il illustre notamment les fonctions de validation (commit) et d'abandon (abort) des transactions en récupérant une valeur d'une base de données SQL Server, en permettant à l'utilisateur de la modifier et en publiant la nouvelle valeur dans la base de données.

Remarque :

Pour générer et exécuter cet exemple, vous devez avoir installé Microsoft SQL Server 2000 ou une version ultérieure sur votre ordinateur et le moteur de base de données doit être configuré pour utiliser l'authentification Windows. Vous devez également modifier la chaîne de connexion SQL dans le fichier TxObj.cs ou TxObj.vb.

Pour plus d'informations sur l'utilisation des exemples, consultez les rubriques suivantes :

Pour créer la base de données TxDemoDB

  1. Ouvrez la fenêtre d'invite de commandes et accédez à l'un des sous-répertoires spécifiques aux différents langages sous le répertoire Technologies\ComponentServices\Transactions.

  2. Tapez osql -E -S (local)\SQLExpress -i TxDB.sql à la ligne de commande. Une autre solution consiste à ouvrir la fenêtre Analyseur de requêtes SQL Server, charger TxDB.sql et sélectionner Exécuter.

    Cette action crée une nouvelle base de données TxDemoDB sur votre serveur SQL Server.

Pour générer l'exemple à partir de l'invite de commandes

  1. Ouvrez une fenêtre d'invite de commandes et accédez à l'un des sous-répertoires spécifiques aux différents langages sous le répertoire Technologies\ComponentServices\Transactions ou utilisez la fenêtre de commande dont vous vous êtes servi pour créer la base de données TxDemoDB ci-dessus.

  2. Tapez msbuild TransactionsCS.sln ou msbuild TransactionsVB.sln, selon votre choix de langage de programmation, à la ligne de commande.

Pour générer l'exemple à l'aide de Visual Studio

  1. Ouvrez l'Explorateur Windows et accédez à l'un des sous-répertoires spécifiques aux différents langages de l'exemple.

  2. Double-cliquez sur l'icône de TransactionsCS.sln ou de TransactionsVB.sln, selon votre choix de langage de programmation, pour ouvrir le fichier dans Visual Studio.

  3. Dans le menu Générer, cliquez sur Générer la solution.

Pour exécuter l'exemple

  1. Ouvrez une fenêtre d'invite de commandes ou l'Explorateur Windows, puis accédez au répertoire qui contient le fichier exécutable récemment créé.

  2. Tapez TxDemo.exe à la ligne de commande, ou double-cliquez sur l'icône de ce fichier exécutable dans l'Explorateur Windows.

  3. La valeur actuelle est lue dans la base de données puis affichée.

  4. Entrez un nombre égal ou supérieur à 0 et inférieur ou égal à 10 dans le champ New Value, et cliquez sur le bouton Post.

  5. Le message "About to commit the transaction" doit s'afficher. Cliquez sur OK. Le champ Current Value est maintenant mis à jour avec la valeur que vous avez entrée.

  6. Entrez un nombre inférieur à 0 ou supérieur à 10 dans le champ New Value. Cliquez sur le bouton Post.

  7. Le message "About to abort the transaction because the new value ([yourvalue]) is either <0 or >10" doit s'afficher. Cliquez sur OK. Vous remarquerez que le champ Current Value ne change pas. En effet, au cours de la transaction, la valeur actuelle a été modifiée, mais lorsque la transaction a été restaurée, la valeur est revenue à sa valeur initiale.

  8. À présent, entrez les mêmes données avec le bouton AutoPost. Vous remarquerez que la transaction lève un COMException lorsque la démonstration abandonne la transaction. Cela permet d'avertir la saisie semi-automatique d'abandonner.

Pour désinstaller l'exemple

  1. Dans la fenêtre d'invite de commandes, accédez au répertoire dans lequel vous avez exécuté msbuild.exe ou ouvert le fichier .sln.

  2. Tapez msbuild.exe TransactionsVB.vbproj /t:Clean ou msbuild.exe TransactionsCS.csproj/t:Clean, selon votre choix de langage de programmation. Cette action appelle regsvcs.exe et gacutil.exe avec le commutateur /u afin de supprimer les fichiers d'exemple du catalogue COM+ et du Global Assembly Cache.

  3. Tapez osql -E -S (local)\SQLExpress -i TxDBClean.sql à la ligne de commande. Une autre solution consiste à ouvrir la fenêtre Analyseur de requêtes SQL Server, charger le fichier TxDBClean.sql et sélectionner Exécuter. Cette action supprime la base de données TXDemoDB de votre serveur SQL Server.

Configuration requise

Version .Net Framework : 2.0, 1.1, 1.0

Notes

Une transaction est un ensemble d'opérations qui doivent être effectuées ensemble. Elles sont toutes exécutées ou aucune ne l'est. Chaque fois que l'une des opérations de la transaction échoue, toutes les opérations précédentes doivent être restaurées pour éviter toute incohérence.

Pour plus d'informations sur les étapes de création et d'inscription d'exemples de fichiers binaires, consultez les commentaires figurant dans le code source et dans les fichiers build.proj. Dans l'outil d'administration Services de composants, le composant C# apparaît sous le nom TxDemoServerCS.TxObject et sa version VB sous le nom TxDemoServerVB.TxObject.

Voir aussi

Concepts

Transactions locales (ADO.NET)

Référence

AutoCompleteAttribute

ContextUtil

ServicedComponent

System.ComponentModel

System.Data

System.Data.SqlClient

System.Drawing

System.EnterpriseServices

System.Reflection

System.Runtime.InteropServices

System.Runtime.Serialization

System.Windows.Forms

TransactionAttribute

TransactionOption

WebMethodAttribute