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 :

Connexion BDD Access ne se ferme pas apres multiple vérifications.


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Connexion BDD Access ne se ferme pas apres multiple vérifications.
    Bonjour,

    Voila je traite une base de donnée access qui est tres imposante (4 millions d'enregistrements, 700Mo...) je doit donc realiser un programme qui la découpe en fonction du codeclient. Il y a donc des boucles de requete qui contiennent d'autre boucles de requete
    Je dois egalement compacter la base assez souvent afin qu'elle ne depasse pas la taille limite de 2 Go, et c'est là qu'intervient mon probleme.

    En effet quand je teste mon programme avec une petite bdd par exemple 100 clients, tout marche correctement, compactage etc...mais lorsque que je commence à mettre une bdd plus imposante, probleme impossible de compacter , message d'erreur me disant que la base est deja ouverte en mode exclusif, en effet le fichier .ldb ne se ferme pas

    Ce n'est pas un probleme dans mon compactage puisque j'ai egalement essayé de déplacer ma base, meme probleme, supression de table idem.

    Je me demande donc si le fait du nombre de requete et donc d'elements dans mes executereader n'agisse pas sur la fermeture de ma connexion ( les cnx.close() , cnx= nothing sont present, tout les executereader sont fermé etc)

    J'espere avoir été assez claire, merci de votre aide !

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    dans certains cas, access utilise la base de données pour gérer ses données temporaires, compacter ou d'autres truc doivent prendre de la place et faire exploser la taille, annulant ainsi l'opération

    il existe par contre d'autres alternatives gratuites à access, genre sql server express (base limité à 4Go) ou sql server compact edition (SQLCe) (je ne connais pas les limites) (ou encore mysql etc...)
    pour ces 2 choix
    - plus besoin de compacter la base
    - pas forcément besoin de changer les requetes, juste les objets de connexion ici et là dans le code
    - possibilité de migrer les données à partir d'access en 3 clics

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Eventuellement, pour ne rien toucher à ton code, tu peux héberger les tables sur un autre SGBD (SQL server, MySQL, ...) et créer une base Access avec des tables logiques qui feront simplement le lien avec les données externes des tables géreés via le SGBD SQL server ou MySQL ou Oracle.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses

    Elle sont très intéressante, seulement le client fournis la base sous access, et cette base est réutilisé par la suite (facture etc...) je ne peux donc pas changer de sgbd.

    Par ailleurs je crois avoir trouver quelques chose, travaillant avec beaocup d'executereader je réutilise quasiment toujours les même tout au long du programme, pensez vous qu'ils puissent "saturé" , puisqu'en de nouveaux executereader, mon programme accepte quelques fois le compactage, c'est tres aleatoire..

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    je sais pas pour access mais pour sql server microsoft recommande de garder les connexions ouvertes le moins longtemps possible

    à chaque accès à la base, j'instancie des objets nouveau à chaque fois (connexion, command, reader)
    et je close reader et connexion juste après avoir lu les données, puis je les dispose

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci pour toutes vos réponses !

    Apres de nombreux test, ce la marche enfin, je coupe la connexion le plus souvent possible, et un executereader pour chaque requêtes.

    Encore merci pour votre aide.

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

Discussions similaires

  1. Erreur connexion bdd access
    Par offspring dans le forum C#
    Réponses: 9
    Dernier message: 12/07/2008, 01h15
  2. [ODBC] Connexion BDD Access avec "new com" - utilisation de odbc_fetch_row ?
    Par polothentik dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/04/2008, 15h12
  3. Connexion BDD access
    Par Solly dans le forum JDBC
    Réponses: 8
    Dernier message: 25/04/2008, 13h01
  4. Access ne se ferme pas à sortie application
    Par Godard dans le forum Access
    Réponses: 7
    Dernier message: 07/05/2007, 10h00
  5. Outlook ne se ferme pas après un envoi de mail
    Par Joke dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/06/2003, 17h32

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