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

Accès aux données Discussion :

[C#] Comment savoir si une connexion SQL est disponible ?


Sujet :

Accès aux données

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut [C#] Comment savoir si une connexion SQL est disponible ?
    Bonjour à tous,

    Je suis en train de faire une application qui échange des données entre la France et l'île maurice. La connection n'étant pas super là bas, je voulais faire un gestionnaire de connection SQL Server qui garderai une liste de connection utilisé. C'est à dire qu'un objet qui a besoin d'accéder à une base distante réclame une connection au gestionnaire, et celui-ci cherche dans sa liste si il y en a une dispo, qui est ouverte et non utilisée.

    Ainsi, on n'ouvre/ferme pas sans cesse des connexion, mais on les recycle.

    Le soucis, c'est lorsque l'on exécute un reader sur une connection et qu'en même temps on a besoin d'en ouvrir une deuxième... Comment savoir si une connection est actuellement utilisée? Pour savoir si on la renvoi ou si on doit en créer une nouvelle?

    Merci,

    A bientôt
    "Heureusement qu'il y avait mon nez, sinon je l'aurais pris en pleine gueule" Walter Spanghero

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 168
    Points : 123
    Points
    123
    Par défaut
    Tu peux le gérer manuellement, dans ton connection_manager, tu associes un bool _used à ta connection. Lorsque le manager la renvoi, tu le met à TRUE, et lorsque tu recherches une connection à renvoyer tu ne regardes que dans celle à FALSE.

    Maintenant c'est pas plus gourmand de garder des connections ouvertes que de ouvrir/fermer à chaque fois ? (c'est juste une question pour infos perso )

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut
    Ouais j'y avais pensé à flaguer quelque chose dans ma connexion avant de l'utiliser et à reflaguer lorsque j'en avais plus besoin mais bon, c'est que je voulais décharger cette responsabilité de l'utilisateur pour que ça soit transparent pour lui.

    En fait le plus long entre l'île Maurice et la France, c'est le temps de connexion, pas les transferts. C'est pour ça que je désirais garder les connexions ouvertes.

    Merci

    A bientôt
    "Heureusement qu'il y avait mon nez, sinon je l'aurais pris en pleine gueule" Walter Spanghero

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 168
    Points : 123
    Points
    123
    Par défaut
    Bah si tu gères ton flag dans ton manager, c'est transparent non ?

    tu le met à TRUE quand tu la renvoi
    Et tu parcours les FALSE quand on en demande une.

    Merci pour l'info

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut
    Bah nan je peux pas flaguer quoi que ce soit depuis le gestionnaire puisque je ne sais pas ce que les utilisateurs vont faire avec. Ca serait à eux de la flaguer avant de lancer un SqlDataReader dessus pour dire "Attention, elle a l'air dispo mais en fait nan je suis en train de l'utiliser via mon Reader"

    M'enfin c'est bon j'ai bidouillé, suffit de ne pas imbriquer un traitement sur une connexion via un Reader, et un autre traitement sur le même type de connexion, et là ça passe bien...

    Je méditerai tout ça quand j'aurai un peu de délais lol

    Merci,

    A bientôt
    "Heureusement qu'il y avait mon nez, sinon je l'aurais pris en pleine gueule" Walter Spanghero

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/06/2015, 01h19
  2. Comment savoir si une connexion est deja ouverte?
    Par ghor_bey dans le forum Web & réseau
    Réponses: 3
    Dernier message: 29/07/2005, 16h17
  3. Comment savoir si une fenêtre s'est fermée
    Par niuniuk36 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 12/05/2005, 15h49
  4. Comment savoir si une impression s'est bien déroulé?
    Par Cyrilh7 dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/11/2003, 21h49
  5. Réponses: 4
    Dernier message: 10/09/2002, 18h09

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