Designed by NoKi !
116 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 NewsLetter





   

Compacter une base Access

Pour améliorer sa rapidité et sa stabilité






MSAccess & Active Server Pages
==============================================================
Compacter une base de données (.mdb) Access avec ASP (VBScript)


JRO MDAC 2.1 requis (par défaut dans Windows 98/NT/2000)

' Création de l'objet JetEngine
Set ObjEngine = Server.CreateObject("JRO.JetEngine")

' Définition de la table à compacter
strCompactDataBaseSource = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MyPath\MyDb.mdb;User ID=userName;Password=userPassword;"

Attention la base compactée doit avoir un nom différent de la base d'origine, et ce nom ne doit pas exister.
Les valeurs des utilisateurs et mots de passe sont optionnels.


' Définition de la table compactée
strCompactDataBaseDestination = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Jet OLEDB:Encrypt Database=True;Data Source=MyPath\MyDb_compact.mdb;User ID=userName;Password=userPassword"

Les valeurs des utilisateurs et mots de passes sont optionnelles.

Engine Type
permet de définir le format de la base compactée. Cette valeur est optionnelle. Par défaut la base sera convertie au format MSAccess 2000.
Attention le format ne peut être qu'équivalent ou supérieure à la base d'origine.
Voici les valeurs possibles pour Engine Type :
Jet10 = 1
Jet11 = 2
Jet20 = 3 (Access 2)
Jet3x = 4 (Access 97)
Jet4x = 5 (Access 2000)

Encrypt Database permet de définir si la base compactée doit être codée ou non (valeur boléenne True/False). Cette valeur est optionnelle. Par défaut la valeur sera celle de la base d'origine.

' Compactage de la base de données
ObjEngine.CompactDatabase strCompactDataBaseSource, strCompactDataBaseDestination

' Destruction de l'objet JetEngine
Set ObjEngine=Nothing

Il ne vous reste plus qu'a remplacer l'ancienne base par la nouvelle.

Voici maintenant le code complet pour cette opération.
Attention la base de donnée ne doit pas être en lecture seule

' © Copyright Ludovic Lenne - 2001

'Les champs en bleus sont à remplacer par vos données.



' Définition de la base à compacter
nameBaseSource = "
My_Db.mdb"
pathBaseSource = "
My_Path\"
uidBaseSource = "User"
pwdBaseSource = "Password"
pathDataBaseSource = pathBaseSource & nameBaseSource

' Définition de la base compactée temporaire
nameBaseDestination = "
MyDb_temp.mdb"
pathBaseDestination = "
My_Same_or_Other_Path\"
uidBaseDestination = "Same_or_New_User"
pwdBaseDestination = "Same_or_New_Password"
pathDataBaseDestination = pathBaseDestination & nameBaseDestination

' Définition des valeurs du compactage
strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;"
strEngine = "Jet OLEDB:Engine Type=4;"
strEncrypt = "Jet OLEDB:Encrypt Database=False;"


strUidBaseSource = "User ID=" & uidBaseSource & ";"
strPwdBaseSource = "Password=" & pwdBaseSource & ";"

strUidBaseDestination = "User ID=" & uidBaseDestination & ";"
strPwdBaseDestination = "Password=" & pwdBaseDestination & ";"

strDataBaseSource = "Data Source=" & pathDataBaseSource & ";"
strCompactDataBaseSource = strProvider & strDataBaseSource

strDataBaseDestination = "Data Source=" & pathDataBaseDestination & ";"
strCompactDataBaseDestination = strProvider & strEngine & strEncrypt & strDataBaseDestination

' Création d'un objet FileSystemObject
Set ObjFileSystem = Server.CreateObject("Scripting.FileSystemObject")

' Vérification de l'existence de la base à compacter

If (ObjFileSystem.FileExists(pathDataBaseSource)) Then

   ' Vérifie que la base temporaire n'existe pas
   If (ObjFileSystem.FileExists(pathDataBaseDestination)) Then
      'Si elle existe la base temporaire est effacée
      ObjFileSystem.DeleteFile pathDataBaseDestination
   End If

   ' Création de l'objet JetEngine

   Set ObjEngine = Server.CreateObject("JRO.JetEngine")
   ' Compactage de la base de données
   ObjEngine.CompactDatabase strCompactDataBaseSource, strCompactDataBaseDestination
   ' Destruction de l'objet JetEngine
   Set ObjEngine = Nothing

   ' Remplacement de l'ancienne base par la base compactée temporaire
   ObjFileSystem.CopyFile pathDataBaseDestination,pathDataBaseSource ,True
   ' Effacement de la base compactée temporaire
   ObjFileSystem.DeleteFile pathDataBaseDestination

End If

' Destruction de l'objet FileSystemObject
Set ObjFileSystem = Nothing


Penser que vous pouvez en faire une jolie fonction ;)

Et si vous voulez, je vous en fait même un composant script et je vous montre comment faire : Créer un composant ASP . ludovic@lenne.org

Règle 1 : une ligne de code, une ligne de commentaire.

Ludovic Lenne ;)

Llenne le 23/04/2003 (30 756 hits)
Didier Réservez votre place gratuite pour les Microsoft TechDays 2009 !!!
Un serveur dédié Dedibox avec la licence Windows Server 2008 gratuite !!!

MSDN fête ses 10 ans ! Gagnez 1 Nabaztag, 1 montre binaire, 1 console Xbox, 1 ordinateur ultra-portable EeePC, 1 HTC Diamond et bien d’autres cadeaux… !!!
Au fil des news  
[MAJ] [PHP] Un calendrier très complet -
Remplacement de balises pour le PHP5 et modifications du script pour l'affichage des jours afin ...
Magazines - Le n°113 de Programmez est disponible
PHP - Compteur de visites (hit) paramétrable
Amélioration du Search MOSS : Recherche avancée - Modification de la page de recherche avancée
Dans la série des optimisations potentielles sur le moteur de recherche de MOSS, nous verrons cette ...
Dreamweaver CS3 + Php + Mysql - Ajout-Modif-Suppression. Les fondamentaux Part-1
Suite à de nombreuses questions sur le forum, je pense que ce sujet sur les comportements d'ajout, ...
SharePoint et Silverlight - Premiers pas - Lecture de données SharePoint et intégration
Silverlight et SharePoint sont deux technologies récentes et connaissant un essor significant. En ...
Développement d'applications SharePoint - depuis une Workstation XP ou Vista
Lorsque que l'on développe pour SharePoint, on se retrouve dans un dilemme auquel nous avons tous ...
JavaScript - sudoky - jeux du sudoku en javascript
Adobe - Creative Suite 4 en Français
PHP - La 8ème édition du Forum PHP est lancée !
Magazines - Le n°112 de Programmez est disponible
PHP - Interpreteur de commande SQL en PHP
Listes liées (dépendantes) : avec ou sans XMLHTTPR - Les délires «Ajax or not Ajax»
Comme toujours, c'est à la suite d'un coup de pouce que je me suis décidé à faire ce tuto. Merci à ...
Amélioration du Search MOSS : Les scopes - Quelques possibilités d'amélioration du Search
Lorsqu'on installe le moteur de recherche de MOSS et qu'on le configure basiquement, on veut ...
SharePoint - Lister les templates utilisés - Identifier les définitions utilisées par vos sites
Un site SharePoint est créé à partir d'un modèle ou définition de site. Mais comment savoir après ...
PowerShell - Profile avec la participation de mon ami Tigrou :)
Adobe - Lancement de la CS4, tous à vos agendas !
[MAJ] PHP - Fonctions de redimensionnement d'images - BD : redimensionner image + picto après upload
Ajout de FONCTIONS de redimensionnement.
PHP - Afficher une date mysql yyyy-mm-dd en dd-mm-yyyy
PHP - Tchat PHP V2.1 sans base de donnée
SharePoint et les statistiques d'utilisation - Comment obtenir des statistiques depuis SharePoint
La mise en place de ferme SharePoint doit s'accompagner d'une notion de gouvernance. Cette notion ...
Adobe - Nouvelles annonces Adobe sur le salon IBC 2008
PHP - PHP TV emission 2 (septembre 2008)
PHP - PDO ADMIN
[MAJ] Inscription contrôlée à une NewsLetter ou Service - Abonnement avec confirmation et désabonnement
Correction d'un point-virgule manquant (merci de m'avoir obligé à chercher JPierre) dans le module ...
PHP - Premier lundi d'une semaine et d'une année
JavaScript - Premier lundi d'une semaine et d'une année
ASP - Premier lundi d'une semaine et d'une année
Alphabet Radio et Code Morse - Alpha Zulu appelle Tango Charlie !
Encoder-Décoder en "Alphabet Radio" ... "Alpha Zulu appelle Tango Charlie !" ou en Code Morse ... ...
Filtrer les modèles de site SharePoint - Filtrer l'affichage des modèles de site SharePoint
Je vous propose de découvrir à l'aide de cet article quels mécanismes peuvent vous permettent de ...
ASP/PHP - Méthode de cryptage - par table de correspondance
(ASP/PHP) Une méthode de cryptage de données par l'utilisation d'une "table de correspondance ...
PHP - Listes liées (1 table) - version2
JavaScript - Rendre Visible ou Invisible des éléments d'un form
PHP - Listes liées (1 table) - version1
JavaScript - Intercepter le click sur vidéo WMP ou flash SWF
Jeux de l'été (et de 5) - Un jeu de Motus (mots de 8 lettres)
C'est reparti pour un tour... Comme je venais de proposer un jeu de Mastermind, je me suis dit que, ...
PowerShell - Extraire toutes les collections SharePoint en CSV
PowerShell - Lister les collections pour une WebApp SharePoint
PowerShell - Lister les utilisateurs d'un site SharePoint
PowerShell - Connaître le code version de votre SharePoint
Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
  Scripts : Scripting | ASP-PHP | ASP.net | Divers
  Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
v3 © Didier 2003   
 

Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
 Wygwam CodePPC Groupes Utilisateurs Microsoft El Roubio MVP DotNet Project The Inquirer FR Codes Sources ASP-magazine TechNet