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

JDBC Java Discussion :

Compacter base de donnée ACCESS


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 26
    Points : 21
    Points
    21
    Par défaut Compacter base de donnée ACCESS
    Bonjour,

    Je travaille actuellement sur une base de donnée ACCESS avec JDBC.

    Mon problème est que lorsque je supprime des tables, la taille du fichier reste identique et si je rajoute des données, la taille augmente.

    En recherchant sur le net, j'ai trouvé qu'il fallait que je compacte ma base de donnée, chose que j'ai réussi à faire depuis ACCESS (Menu Outils/Options, Onglet 'Général', cocher 'Compacter lors de la fermeture').

    Cependant, j'aimerai pouvoir faire cette manipulation via JDBC donc si quelqu'un sait comment faire, qu'il n'hésite pas !

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut Compactage ... oui mais ...
    Salut,

    JDBC est un système qui est prévu pour fonctionner pour la plupart des bases de données.

    On ne peut pas compacter une base Access avec JDBC vu qu'il s'agit d'une manœuvre spécifique à Access ; elle n'existe pas dans les autres bases de données ou alors de façon très différente.

    Du coup, on ne peut compacter une base Access qu'avec ... Access

    Avant de continuer, peux-tu nous dire si Access est installé sur le poste où s'exécute l'application java ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 26
    Points : 21
    Points
    21
    Par défaut
    Merci pour ta réponse.

    Effectivement, j'ai Access installé sur le même poste où se trouve l'application.

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Si tu as Access sur le poste alors tu peux lancer Access avec une commande externe depuis Java qui va compacter la base.

    ligne de commande de compactage Access :
    http://loufab.developpez.com/raccourci/#L3.2.A

    lancement d'une commande depuis java :
    http://java.developpez.com/faq/java/...icationExterne

    pour que cela fonctionne, il faut faire précéder les slashs et guillemets d'un "\"
    sinon ça déconouille dans la chaîne de caractères


    Donc, dans le praticopratique tu feras quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            String cmd =  "\"C:\\Program Files\\Microsoft Office\\Office\\MSACCESS.EXE\" \"C:\\DossierApp\\bd1.mdb\" /compact";
            try {
                Process proc = Runtime.getRuntime().exec(cmd);
            } catch (IOException ex) {
                ex.printStackTrace();
            }

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 26
    Points : 21
    Points
    21
    Par défaut
    OK merci je n'y avais pas pensé !

    J'essayerai ça demain

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 26
    Points : 21
    Points
    21
    Par défaut
    Bon ben ça marche nikel !

    Merci beaucoup pour ton aide

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

Discussions similaires

  1. [VB.NET] Comment compacter une base de données Access ?
    Par xVINCEx dans le forum Contribuez
    Réponses: 6
    Dernier message: 05/06/2008, 18h35
  2. [débutant] Connection à une base de donnée Access
    Par Lorenzox dans le forum JBuilder
    Réponses: 1
    Dernier message: 25/10/2004, 16h28
  3. Réponses: 15
    Dernier message: 25/10/2004, 11h50
  4. [Déploiement]Base de donnée Access
    Par Giovanny Temgoua dans le forum Bases de données
    Réponses: 9
    Dernier message: 09/08/2004, 20h48
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

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