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

VB.NET Discussion :

Problème de verrou avec OldeDB


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut Problème de verrou avec OldeDB
    Bonjour,

    j'ai un problème de verrouillage de table :

    J'update une ligne et ensuite je veux lire cette ligne avant la fin de la transaction...

    j'ai essayé directement sous SQL management studio 2005 et ça marche...

    Mais OLEDB me verrouille ma ligne

    Si quelqu'un a une idée...

    PS: voilà ce que j'exécute sous sql server
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    BEGIN TRANSACTION
     
    UPDATE CLIENT set abandon = 0, id_titre = '0', nom='BLANCHET', prenom='ISABELLE', bloque = '0', en_compte = 0, code_externe = '01281639' 
    WHERE id_client = '596039'
     
    select * from client 
    WHERE id_client = '596039'
     
    COMMIT
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 58
    Points
    58
    Par défaut
    Bonjour,
    Je pense que cela provient de votre niveau d'isolation des transactions qui diffère entre manager studio et oledb

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Non ce n'est pas cela


    j'ai essayé TOUS les niveaux d'isolation possible (même le non recommandé : chaos)

    Et aucun ne fonctionne...
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  4. #4
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Personnellement pour le même probléme sur une BD Access, j'ai du passer par des transactions pour gérer les rollback et fermer puis réouvrir la connection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dim trCurrentTransaction As OleDbTransaction
            trCurrentTransaction = CLFWAddMy.CurrentConnection.BeginTransaction(IsolationLevel.ReadCommitted)
    ...
    Ordre de MAJ
    si ko  --> 
    trCurrentTransaction.Rollback()
    si ok  --> 
    trCurrentTransaction.Commit()
    ...
    CLFWAddMy.CurrentConnection.Close()
    CLFWAddMy.CurrentConnection.Open()
    Dans tous les exemples que j'ai vu, on ouvre la connection avant l'ordre de MAJ et on la ferme aprés (niveau perf ça doit pas être super).

    Je n'ai pas trouvé d'autre solution pour le moment (et pourtant j'ai chercher !)
    Si quelqu'un sait je prend aussi !

    EDIT : Je viens de me rendre compte que ça ne doit pas être ce que tu cherches à faire. Le close/open est plus lié à l'utilisation d'un transaction pour gérer le Rollback. Je laisse le msg au cas où...


    Cdt.
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Tout d'abord merci pour ta réponse

    je me demande ce qu'il se passe si tu coupe ta connexion au milieu de ta transaction et que tu la redémarres après?

    Ta transaction s'effectue correctement et cette asruce fait sauter les verrous?

    Je suis sceptique...
    Arrêtez de poster des liens! Expliquez! (ça évite les erreur HTTP 404)

    L'homme est plus fort que la machine... ne renoncez jamais


  6. #6
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Je bosses sur des datasets et cela n'a pas d'importance que je sois en mode déconnecté ou non du moment que lors des mes chargements de data ou lors de maj je sois connecté.
    J'essaye tout de même de laisser ma connection ouverte tout le temps mais comme je le disais les transactions autonomes m'obligent à faire cette bidouille.

    Dans mon exemple, je ne coupe la connection qu'une fois la transaction terminée via mon commit ou rollback.

    Cdt.
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

Discussions similaires

  1. Problème de mémoire avec BDE
    Par Machuet dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2004, 10h11
  2. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  3. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02
  4. [Kylix] problème compilation kylix3 avec redhat 9.0
    Par madininaoursa dans le forum EDI
    Réponses: 1
    Dernier message: 02/07/2003, 16h21
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 10h18

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