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

ADO.NET Discussion :

reparer et\ou compacter une bd access avec vb.net


Sujet :

ADO.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut reparer et\ou compacter une bd access avec vb.net
    Bonjour,

    Je voudrais savoir comment faire pour reparer et ou compacter une base de donnees Access 97 en ado.net sous vb.net 2005?

    Merci de m'aider.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Après une intense recherche sur le net j'ai trouvé cela
    Sur MSDN
    http://support.microsoft.com/kb/306287
    et plus original,mais pas idiot l'appel de JetComp en ligne de commande
    http://stackoverflow.com/questions/6...ing-dao-and-jr

    J'avoue que ce n'étaient pas les premieres réponses.
    Je te laisse tester.
    a+
    soazig

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci,
    J'ai fini par trouve 3 reponses sur differents forums. Pratiquement elles se resument toutes a ce qui est propose par MSDN.
    Voici les 3 reponses:

    Reponse1
    'Compact and repair DB. Save the repaired DB to the rout of G:.
    jro.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\E2E32\DataDrv32\Trans.MDB;" & "Jet OLEDBatabase Password=E2Eteam", _
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Trans.MDB;" & "Jet OLEDBatabase Password=E2Eteam;Jet OLEDB:Engine Type=5")

    Quote:

    If this is omitted for the destination database, it will default to 5. The value for the destination database cannot be a version prior to that of the source database.



    If you are using a Access 97 database.

    Type=4

    If you are using a Access 2002 database.

    Type=5
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Reponse 2
    Is it possible to compact and repair a password protected mdb file(Access 2002) ?


    Yes. Try the following code:

    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
    Dim JRO As JRO.JetEngine
    Dim strSourceName As String, strDestName As String
     
    Set JRO = New JRO.JetEngine
     
    strSourceName = "Provider=Microsoft.Jet.OLEDB.4.0;" _
        & "Data Source=d:\compacttest\MyDB.mdb;" _
        & "Jet OLEDB:System Database=d:\compacttest\MyWrkGrp.mdw;" _
        & "User ID=YourUserName;" _
        & "Password=YourPassword"
     
    strDestName = "Provider=Microsoft.Jet.OLEDB.4.0;" _
        & "Data Source=d:\compacttest\CompactedName.mdb;" _
        & "Jet OLEDB:Engine Type=5;"
     
    JRO.CompactDatabase strSourceName, strDestName
    This is taken from the following Microsoft Knowledge base article: How To Compact Microsoft Access Database Through ADO. I recommend that you read this article as it tells you the references you will need to add to your Project so that this code will run.
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Reponse 3
    1. Add a reference to "Microsoft Jet and Replication Objects 2.6 Library"
    2. Check if the database is in use , display a warning.
    3. Create a temporary folder and copy the DB
    4. Create an object of JRO JetEngine and call the compact method , to compact the tempdb and replace at the original location. After compacting delete the temp folder along with its contents
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Merci bien d'avoir lancer ce sujet.

    Ca m'as donné une idée pour ''améliorer'' une de mes applications et la solution en prime!

    Reste plus qu'à tester la mise en pratique maintenant!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/12/2009, 14h06
  2. Réponses: 1
    Dernier message: 27/05/2008, 13h29
  3. Comment compacter une base Access avec ADO ?
    Par langela94 dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/12/2005, 16h24
  4. Compacter une BD Access - ADO
    Par Benoit30 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/09/2005, 21h10
  5. Modification d'une base Access avec MySQL
    Par Wyatt dans le forum Administration
    Réponses: 2
    Dernier message: 07/01/2005, 19h20

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