begin process at 2012 02 11 05:05:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une procédure stockée

 > 

Abandon de transaction suite TimeOut dans procédure stockée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Abandon de transaction suite TimeOut dans procédure stockée

jeudi 23 juin 2005 à 10:55:51 | Abandon de transaction suite TimeOut dans procédure stockée

foxfred

Bonjour,

Une procédure stockée appelée depuis une appli VB.Net effectue le traitement suivant :

BEGIN TRANSACTION
   -- Suppression d'une contrainte dans une table
   ALTER TABLE Tab_Test DROP CONSTRAINT Tab_Test_contraint
   -- Execution d'une procédure stockée pouvant provoquer un TimeOut
   EXEC USP_TimeOut
   IF @@Error    IF @@ERROR <> 0
        BEGIN
            GOTO ROLLBACK_TRANSACTION
        END
  -- Rétablissement de la contrainte
  ALTER TABLE Tab_Test ADD CONSTRAINT Tab_Test_Contraint check substring(colonne,1,2) in ('10','11','12'))
 
  -- Fin de la transaction
  COMMIT_TRANSACTION:
      COMMIT TRANSACTION
      GOTO END_TRANSACTION
  ROLLBACK_TRANSACTION:
      ROLLBACK TRANSACTION
      GOTO END_TRANSACTION
  END_TRANSACTION:

L'exécution de cette procédure depuis l'application provoque bien une SQLException TimeOut (Err -2 SQLServer).

Par contre, il semblerait que la transaction ne soit pas annulée suite au timeOut. Si je réexécute la procédure sur la même connexion dans une boucle, j'obtiens une erreur 3728 - la contrainte n'existe pas (Puisqu'il n'y a pas eu de rollback) sur plusieurs itération, puis je reviens sur une erreur de TimeOut...
Pour l'éviter,  je dois dans mon applic VB.Net en cas d'erreur -2, demander l'exécution d'un Rollback transaction .

Ma question : dans ce genre d'erreur (le TimeOut), qui est sensé effectuer le Rollback de la transaction ? A quel moment est ce que SQlServer annule la transaction si l'application VB ne la fait pas ?

Merci pour vos éclaircissements

Fred
nouveau sur SqlServer



Cette discussion est classée dans : stockée, procédure, rollback, transaction, timeout


Répondre à ce message

Sujets en rapport avec ce message

Like dans une procédure stockée [ par veronique1 ] Bonjour à tous,j'utilise une requête dans une procédure stockée avec un like , la valeur provient d'un paramètre , et ma rquête ne fonctionne pas si j Probleme avec Select Case [ par Geff ] Bonjour à tous!J'ai un petit problème pour écrire une procédure stockée pour Sql Server 2000.Voici les données de mon problèmeJ'ai une table client et Une procédure stockée pour : Ajouter OU Modifier OU Supprimer [ par Bowen123 ] Bonjour,Je cherche a créer une procédure stockée pour ajouter,mettre a jour ou supprimer un element à partir d'un "id".Quelqu'un peut me mettre sur la Comment trouver le host dans une procédure stockée [ par btorchet ] Bonjour,Je voudrais rerouver le host, nom de la machine, du poste a partir duquyel a été appelé une procédure stockée.Je connais host_name, quand je l Paramètre de procédure stockée null [ par Leggoff ] Bonjour à tous.Je souhaite passer en C# un paramètre null à une procédure stockée (Ma toute première procédure !).L'utilisation de null  ne fonctionne Procédure stockée [ par batobad ] bonjourj'ai une base de données sur sql server qui contient quatre tables dont l'une, que j'ai appélée article, contient une clé primaire et trois clé log procédure stockée (SQL Server) [ par jguillemette ] bonjour,à partir d'un *.bat je lance un DTS qui exécute une procédure stockéla trace de l'exécution du *.bat est redigée dans un fichier logce dernier PROMPT dans une procédure stockée [ par tedparker ] Bonjour   Est-il possible de demander des paramètres par un PROMPT dans une procédure PL SQL ? J'en ai super besoin. Je crée ma procédure dans un pack Problème de passage de paramètre dans une procédure stockée [ par pfacon ] J'ai créé une procédure stockée de création de base de données SQL:CREATE PROCEDURE creation_base  @nom varchar(8)  AS create database[@nom]GOJ'appell Procédure stockée sous SQL server [ par paloxicide ] Je suis sous une base sql serverJe vux créer une procedure stockée qui va me chercher le max(id ) d'une table et qui ensuite m'enregistre les données


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales