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

Développement Web avec .NET Discussion :

Requête sur 2 bases avec double rollback


Sujet :

Développement Web avec .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 111
    Par défaut Requête sur 2 bases avec double rollback
    Bonjour,
    je reprends une application Web d'un collègue (en VB et Aspx sous forme
    de formulaire) seulement j'ai plusieurs problèmes pour m'y retrouver.

    1) Je dois changer simultanément (UPDATE) une valeur dans deux bases différente ( Une Oracle et une Sql serveur) mais que si l'opération ne fonctionne pas sur l'une des deux bases, je dois pouvoir faire une sorte
    de rollback des deux bases simultanément pour que les valeurs des deux bases coincident. Et au passage il faut générer un Log des ces transactions (mais ce n'est pas ce qui me bloque).

    2) Question plutôt bête : J'ai un hashtable ou j'ai ajouté des lignes dedans ("monhashtable.Add ... ) , le problème c'est que je n'arrive pas à les récupérer. D'habitude je fais plutôt du JAVA et j'ai l'habitude de faire un " monhashtable.get ... etc) mais la je sèche car j'ai monhashtable. keys ou . values mais quand je le print il m'affiche System.Collections.Hashtable ou System.Collections.Hashtable+KeyCollection ou System.Collections.Hashtable+ValueCollection ... :/

    Ce sont mes débuts en VB et ASP donc j'ai un peu de mal. Au passage si quelqu'un connaît un bon livre J'ai regarder dans la catégorie "livres" de developpez.com mais je ne sais pas du tout lequel pourrais me faire progresser

    Voilà Merci beaucoup de votre aide, si vous avez une idée.
    N'hésitez pas à me poser des questions. J'y répondrai assez vite.

    Bonne journée

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Citation Envoyé par quake3 Voir le message
    1) Je dois changer simultanément (UPDATE) une valeur dans deux bases différente ( Une Oracle et une Sql serveur) mais que si l'opération ne fonctionne pas sur l'une des deux bases, je dois pouvoir faire une sorte
    de rollback des deux bases simultanément pour que les valeurs des deux bases coïncident. Et au passage il faut générer un Log des ces transactions (mais ce n'est pas ce qui me bloque).
    Pour ce qui est de gérer les transactions, cela ne devrait pas être trop difficile. Un conseil vu que tu viens de Java : utilise le mot clé Using pour gérer tes connexions. Pense aussi à faire le commit dans le Finally d'un Try/Catch. Il y a de nombreux doc sur ce site ou sur Google.
    Par contre pour ce qui est du "simultané".... il y aura tout de même quelques millisecondes d'écart. Si je peux me permettre, pourquoi utiliser deux bases distinctes sur deux SGBD différents dans une seule application ?


    Citation Envoyé par quake3 Voir le message
    2) Question plutôt bête : J'ai un hashtable ou j'ai ajouté des lignes dedans ("monhashtable.Add ... ) , le problème c'est que je n'arrive pas à les récupérer. D'habitude je fais plutôt du JAVA et j'ai l'habitude de faire un " monhashtable.get ... etc) mais la je sèche car j'ai monhashtable. keys ou . values mais quand je le print il m'affiche System.Collections.Hashtable ou System.Collections.Hashtable+KeyCollection ou System.Collections.Hashtable+ValueCollection ... :/
    C'est un peu comme un tableau : monhashtable["MaClee"]. Hashtable en .NET te fourni les collections Keys et Values afin de pouvoir naviguer dans les clés et les valeurs. Dans certains cas c'est très utile. Je t'invite à consulter la doc MSDN à ce sujet.

    En espérant t'avoir aidé.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 111
    Par défaut
    Pour les millisecondes de retard ce n'est pas un problème, je vais me pencher du coté du "USING"
    Sinon avoir deux bases de données distinctes, c'était comme cela quand je suis arrivé et toutes les applis fonctionnent un peu sur les 2 donc à moins de tout refaire ( et je m'en sens incapable )

    Pour ce qui est du Hashtable, j'avais déjà lu la doc MSDN mais ca m'a pas beaucoup aider, je vais la relire plus attentivement


    Merci beaucoup

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 64
    Par défaut
    Bonjour,

    jai le même problème à propos des Hashtable, je ne sais pas comment récupérer
    les valeurs pourtant ca devrait être simple.
    Pourrais tu me dire comment faire avec un exemple basic comme celui-ci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim valeur1 As String = "valeur1"
    Dim valeur2 As String = "valeur2"
    Dim monHashtable As New Hashtable
     
    monHashtable.Add(valeur1,valeur2)
     
    'Je veux recuperer cette valeur
     
    Dim recup_var As String 
    recup_var = monHashtable. ???

  5. #5
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Citation Envoyé par ceinoxe Voir le message
    Pourrais tu me dire comment faire avec un exemple basic comme celui-ci ?
    Il te suffit d'ouvrir grand tes yeux, prendre un café si tu n'es pas réveille, et relire mon post ci-dessus dans lequel est affiché la réponse à ta question

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Salut,

    Petite coquille:
    Pense aussi à faire le commit dans le Finally d'un Try/Catch
    => je suis curieux de voir comment tu fais un commit sur le Finally après un rollback d'une exception.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/03/2013, 09h46
  2. [requête sur plusieurs bases]
    Par viny dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/02/2006, 14h18
  3. Requête sur plusieurs bases de données
    Par Oluha dans le forum ASP
    Réponses: 8
    Dernier message: 14/10/2005, 14h57

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