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

Outils MySQL Discussion :

[.NET] Transaction qui ne sert à rien sous MySQL / InnoDB


Sujet :

Outils MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 88
    Points : 81
    Points
    81
    Par défaut [.NET] Transaction qui ne sert à rien sous MySQL / InnoDB
    Bonjour,

    J'ai un problème très étrange. Je fais une transaction toute simple, mais le comportement est exactement le même que si je n'en avais pas.

    J'utilise MySQL 5 / InnoDB / MySQL Connector 5 (.NET)

    En gros, je peux voir la création de table et l'insertion en live dans MySQL Administrator, et après le RollBack, tout reste... J'ai cherché des heures du coté d'un autocommit, mais je vois à chaque fois que le fait de créer une transaction le désactive.

    Je précise que le moteur de cette table est bien InnoDB (d'après Administrator)

    voila mon code (c'est pour faire des tests je précise ).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    conn = new MySql.Data.MySqlClient.MySqlConnection();
    conn.ConnectionString = cs;
     
    conn.Open();
    transaction = conn.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
    System.Data.IDbCommand command = conn.CreateCommand();
    command.Transaction = transaction;
     
    command.CommandText = "create table test ( filename varchar(200) )";
    command.ExecuteNonQuery();
    command.CommandText = "insert into test values ('coucou')";
    command.ExecuteNonQuery();
    transaction.Rollback();

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 88
    Points : 81
    Points
    81
    Par défaut
    Rebonjour,

    Quelqu'un pourrait-il déjà me dire s'il a eu ce problème ?

    Merci

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 88
    Points : 81
    Points
    81
    Par défaut
    hmm...
    J'ai trouvé une solution : Dans l'instance configuration wizard, à condition de mettre mySQL en mode Transactional Database only, l'autocommit semble désactivé.

    En gros, tous les create table sont autocommités (ou du moins ne sont pas dans la transaction), donc je ne peux pas les rollbacker, par contre les insert qui suivent sont bien transactionnels.

    Voila, en espérant que ça pourra aider des gens

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/04/2009, 09h35
  2. Problème jointure gauche qui ne passe plus sous MySQL 5
    Par OuiOui007 dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/09/2006, 11h33
  3. Utilisation d'une transaction sous Mysql 5.0
    Par sanqara dans le forum Administration
    Réponses: 1
    Dernier message: 22/07/2006, 15h37
  4. Réponses: 2
    Dernier message: 21/06/2006, 13h44
  5. Réponses: 6
    Dernier message: 26/09/2005, 19h35

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