IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

BEGIN TRANSACTION ne fonctionne pas (webapp et pool)


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 3
    Par défaut BEGIN TRANSACTION ne fonctionne pas (webapp et pool)
    Bonjour,

    j'ai un sérieux problème dans ma webapp sous tomcat:
    config :
    SGBDR : sql server 2000
    driver : net.sourceforge.jtds.jdbc.Driver
    j'utilise un pool de connexion.

    quand j'utilise la syntaxe "BEGIN TRANSACTION" ma transaction n'est jamais effectuée et donc je ne vois pas les lignes que j'ajoute dans la base.

    quand j'utilise la syntaxe "BEGIN" ma transaction fonctionne correctement et je vois les lignes ajoutées.

    donc a priori il faut utiliser "BEGIN" et non pas "BEGIN TRANSACTION"
    c'est un peu bizarre car on trouve partout sur le web la syntaxe "BEGIN TRANSACTION"

    j'ai des classes de tests pour tester mes classes métiers

    dans mes classes de tests c'est la syntaxe "BEGIN TRANSACTION" et non pas "BEGIN" qui fonctionne.

    La seule différence que je vois c'est que dans les classes de tests je ne passe pas par le pool de connexion initialisée dans la webapp.

    quelqu'un peux m'expliquer?
    quel driver me conseillez vous?

    merci

  2. #2
    Candidat au Club
    Inscrit en
    Septembre 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 3
    Par défaut
    apres d'autres tests :

    quand je ne fais pas de "begin" ou "begin transaction" tout fonctionne tres bien
    c a dire que je fais un commit et les lignes sont ajoutées
    et quand je fais un rollback c'est bon aussi

    je vois partout que begin transaction est obligatoire ????

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Vous devez poster votre scripte.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    SQL Server fonctionne nativement en auto commit. Vous n'avez donc aucunement besoin de valider, car chaque ordre SQL est auto validé.

    BEGIN ne correspond à rien sauf bloc de code.

    Si vous voulez gérer des transactions il faut encapsuler un BEGIN TRANSACTION suivi soit d'un COMMIT soit d'un ROLLBACK. Le mieux est de gérer cela dans une procédure stocker et d'éviter cela depuis le poste client car la contention et les blocages risquent de dégragder singulièrement les performances.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [Data] [Transaction] @Transactional - le rollback ne fonctionne pas
    Par romaintaz dans le forum Spring
    Réponses: 6
    Dernier message: 11/10/2009, 17h23
  2. les dernières requêtes d'une transaction ne fonctionne pas
    Par pimos dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/05/2009, 14h24
  3. [Data] rollback sur transaction ne semble pas fonctionner
    Par willoi dans le forum Spring
    Réponses: 3
    Dernier message: 22/04/2008, 12h39
  4. La requête COMMIT TRANSACTION n'a pas de BEGIN TRANSACTION !
    Par BalBalNet dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/03/2006, 17h21
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo