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 :

Conseil connexion a une base access [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2010
    Messages : 277
    Par défaut Conseil connexion a une base access
    Bonjour

    Voici mon cas:

    J'ai une boucle qui contient des procédures.
    La boucle peut faire de 30 a 100 tours.
    Je suis obligé d'ouvrir une connexion a une base access et de la fermer dans la boucle.

    Il me faut une autre connexion a une autre base access et pour celle la je me pose la question:
    Que vaut il mieux faire?

    Ouvrir et fermer dans la boucle, soit entre 50 et 100 ouverture/fermeture?
    ou
    Ouvrir et fermer une seule fois a l'extérieur de la boucle?

    Sachant que la boucle met un peu de temps a s’exécuter (environ 6 a 8 secondes), donc dans le cas d'une seule ouverture la fermeture va se faire plusieurs minute après.

    Si je pose cette question, c'est que j'ai un soucis de connexion qui reste ouverte si je passe 10 fois dans la boucle. Elle se ferme normalement si je ne passe que 9 fois.
    Ensuite cela me laisse un fichier MaBase.ldb ouvert a coté de ma base, que je n'arrive plus du tout a fermer.

    J’espère avoir été clair.
    Merci d'avance

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    niveau performances il vaut mieux ne pas ouvrir 20x la connexion en une seconde, mais la garder pour la boucle

    ca ne pose pas de problème de garder une connexion ouverte longtemps, certains ouvrent une connexion au démarrage de l'appli et la ferme à la fermeture de l'appli, en utilisant toujours la même donc
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2010
    Messages : 277
    Par défaut
    merci de ta réponse Pol63

    Mais cela ne pose t 'il pas de problème si j’exécute plusieurs requêtes différente a chaque tour?
    Et pourquoi la connexion ne veut plus se fermer au bout de 10 tours?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    une fois la connexion ouverte tu peux exécuter autant de requêtes que tu veux, identiques ou différentes.

    la connexion ne veut plus se fermer
    c'est à dire ?
    connexion.close ou encore mieux connexion.dispose et elle se ferme ...
    un message d'erreur ? un bout de ton code ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2010
    Messages : 277
    Par défaut
    ben justement non, c'est la tout le probleme.

    Je suis même allé jusqu’à faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      While Not MyConnexionQuadra.State = ConnectionState.Closed
                    MyConnexionQuadra.Dispose()
                    MyConnexionQuadra.Close()
                End While
    je n'ai aucun message d'erreur juste la connexion qui reste ouverte.

    D’ailleurs si je réexecute la procédure cela fonctionne.
    Comme s'il restait un fantôme

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2010
    Messages : 277
    Par défaut
    Je viens de mettre la connexion dans la boucle, et bien ça marche maintenant.
    je n'ai plus de connexion ouverte a la fin.

    J'utilise access 2003, un soucis avec access peu être qui n'aimerai pas qu'on lui envoie trop de requetes sur la même connexion?

    Pour info,
    - parfois la connexion se fermait avec la fermeture du prog.
    - Parfois meme aprés la fermeture du prog pas moyen qu'elle se ferme si ce n'est avec click droit dessus et supprimer.
    -J'ai meme testé, un bouton avec comme action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyConnexionQuadra.Close()
    lorsque la connexion restait ouverte, le tout dans un try catch, cela ne génère pas d'erreur.

    D’où ma question ici, quelque chose a du m'échapper.

    EDIT: Maintenant c'est la deuxième connexion qui reste ouverte, alors que toute a l'heure elle se fermait

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

Discussions similaires

  1. pb de connexion a une base ACCESS
    Par steave dans le forum JDBC
    Réponses: 5
    Dernier message: 20/09/2007, 19h04
  2. [VB6]Problème connexion avec une base ACCESS
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 15/05/2006, 18h47
  3. Pb de connexion sur une base access
    Par xave dans le forum ASP
    Réponses: 9
    Dernier message: 17/01/2006, 18h26
  4. connexion a une base access ,confirmation ?
    Par Melvine dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 16/12/2005, 12h51
  5. Obligation de connexion a une base access
    Par grillpain dans le forum Access
    Réponses: 12
    Dernier message: 12/12/2005, 13h39

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