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

Access Discussion :

[COMPACTAGE] Compacter une base à partir de Java


Sujet :

Access

  1. #1
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut [COMPACTAGE] Compacter une base à partir de Java
    Bonjour,
    J'avais déjà poster sur ce sujet mais apparemment il n'existe plus.
    Bon voilà mon problème :
    Je développe une application Java qui tuilise un base access via JDBC/ODBC. Or pour l'instant je ne fais aucun compactage et j'ai un peu peur que d'avoire des ennuis dans quelques temps et que ma base devienne instable.
    J'aurais donc voulu savoir comment comapcter une base access sans VB ni Access et en ligne de commande si possible (jene peux pas demander au client de compacter labase eux-mêmes) ?
    J'ai bien vu :
    http://support.microsoft.com/default.aspx?scid=kb;fr;295334
    mais il me semble qu'il lance une interface graphique.

    Sinon, ceci serait pas mal, mais je ne sais pas le faire en Java
    http://support.microsoft.com/default.aspx?scid=kb;fr;230501

    N'existe-t-il pas un petit exe du style :

    compact in=maBase.mdb out=baseCompact.mdb


    Merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut Re: [COMPACTAGE] Compacter une base à partir de Java
    Bonjour,
    Citation Envoyé par narmataru
    J'avais déjà poster sur ce sujet mais apparemment il n'existe plus.
    Bizarre ! Moi aussi, il me semble avoir vu passer un post qui propose la solution dans un script VB utilisant ADOX. Mais je ne le retrouve plus .

    Citation Envoyé par narmataru
    Sinon, ceci serait pas mal, mais je ne sais pas le faire en Java
    http://support.microsoft.com/default.aspx?scid=kb;fr;230501

    N'existe-t-il pas un petit exe du style :

    compact in=maBase.mdb out=baseCompact.mdb
    Tu pourrais partir de cet exemple donné dans le lien ci-dessus pour réaliser ton propre script VB.
    Mais dans un script VB, la création d'une instance JRO ressemblerait plutôt à quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Engine
    Set Engine = CreateObject("JRO.JetEngine")
    Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path\maBase.mdb", _
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path\baseCompact.mdb"
    Bon courage,
    =JBO=

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Tu peux lancer Access avec des paramètres sur la ligne de commande dont un qui compacte la base. Voici l'aide d'access à ce propos. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Options de la ligne de commande de démarrage
     
    Le tableau ci-dessous représente la liste des options de la ligne de commande de Microsoft Access.
     
    Option	Effet
    base-de-données	Ouvre la base de données spécifiée. Inclut un chemin si nécessaire. Le chemin par défaut est le dossier Documents favoris.
    /excl	Ouvre la base de données spécifiée en mode exclusif. Pour ouvrir la base de données en mode partagé dans un environnement multi-utilisateur, n'activez pas cette option.
    /ro	Ouvre la base de données spécifiée en mode lecture seule.
    /user nom-utilisateur	Démarre Microsoft Access en utilisant le nom d'utilisateur spécifié.
    /pwd mot-de-passe	Démarre Microsoft Access en utilisant le mot de passe spécifié.
    /profile profil-utilisateur	Démarre Microsoft Access en utilisant les options du profil d'utilisateur spécifié au lieu des paramètres standard du Registre Windows créés lors de l'installation de Microsoft Access. Cela remplace l'option /ini utilisée dans les versions antérieures de Microsoft Access qui spécifiaient un fichier d'initialisation.Microsoft Office 97, Édition Dévelopeur, comprend des outils et informations pour la création de profils d'utilisateurs. Pour plus d'informations, cliquez sur  .
     
    /compact base-de-données-cible	Compacte la base de données spécifiée avant l'option /compact et ferme ensuite Microsoft Access. Si vous omettez de mentionner un nom de base de données objet après l'option /compact, la base de données est compactée sous le nom de la base de données d'origine. Pour compacter sous un autre nom, spécifiez une base de données cible. Si vous n'incluez pas de chemin dans la base de données destination, la base de données est créée par défaut dans le dossier Documents favoris.
     
    /repair	Répare la base de données spécifiée avant l'option /repair puis ferme Microsoft Access.
    /convert base-de-données-cible	Convertit une base de données d'une version antérieure (1.x ou 2.0) au format Microsoft Access 97 en lui attribuant un nouveau nom, puis ferme Microsoft Access. Spécifiez la base de données source avant l'option /convert.
    /x macro	Démarre Microsoft Access et exécute la macro spécifiée. Vous pouvez également exécuter une macro à l'ouverture d'une base de données en utilisant une macro AutoExec. 
    /cmd	Spécifie que ce qui suit dans la ligne de commande constitue la valeur qui sera renvoyée par la fonction Command. Cette option doit être en dernière position sur la ligne de commande. Vous pouvez remplacer /cmd par un point-virgule (;).Pour obtenir des informations sur la fonction Command, cliquez sur .
    /nostartup	Démarre Microsoft Access sans afficher la boîte de dialogue de démarrage (la seconde boîte de dialogue que vous voyez au démarrage de Microsoft Access).
    /wrkgrp fichier-d'information-de-groupe	Démarre Microsoft Access en utilisant le fichier d'information de groupe spécifié.
    Remarques 
     
    ·	Pour exécuter une procédure Visual Basic Édition Applications lorsque vous ouvrez une base de données, utilisez l'action ExécuterCode dans une macro de ligne de commande ou dans la macro AutoExec. Vous pouvez également exécuter une procédure Visual Basic lors de l'ouverture d'une base de données en créant un formulaire avec une procédure Visual Basic définie pour l'événement Sur_Ouverture (OnOpen). Désignez-le comme étant le formulaire de démarrage en cliquant avec le bouton droit de la souris sur la fenêtre de la base de données, puis cliquez sur Démarrage, et enfin entrez ce formulaire dans la boîte Afficher le formulaire.
     
    ·	Pour spécifier une barre oblique (/) ou un point-virgule (;) sur la ligne de commande, tapez le caractère deux fois. Par exemple, pour spécifier le mot de passe ;mjs/md sur la ligne de commande, tapez ;;mjs//md après l'option de la ligne de commande /pwd.
    En java tu peux faire System.Exec il me semble pour exécuter un programme local, un peu comme Shell de VBA. Si tu as de la misère va sur un site Java je suis certain que tu trouvera un exemple.

    Donc soit tu appel directement Access, soit tu appel Cmd ou Command avec des paramètre spour maquer la fenêtre.

    C'est un peu 'old-fashion' mais cela devrait résoudre ton problème.
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Compacter une base à partir d'une autre base
    Par tedparker dans le forum Access
    Réponses: 3
    Dernier message: 16/09/2006, 19h39
  2. compacter une base de donnée
    Par tpdm dans le forum Access
    Réponses: 1
    Dernier message: 14/10/2005, 11h30
  3. Compacter une base de donnée
    Par Floyd dans le forum Access
    Réponses: 4
    Dernier message: 13/10/2005, 16h05
  4. Le compactage d'une base ne compacte rien
    Par scorplex dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/04/2004, 09h34
  5. [VB6] [Access] Compacter une base de donnée
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 24/09/2002, 11h33

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