Base corrompue

Le
Pierre Rivet
Bonjour à tous,

Avant de sauvegarder une base de données, par une instruction de type

FileCopy CHEMINBASE,SAUVEGARDE

j'aimerais savoir s'il y a un moyen de vérifier que la base de données (en
Access 2000) n'est pas corrompue.

Le risque est évidemment de recopier une base corrompue en une autre base
corrompue.

Merci à l'avance,

Pierre
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
driss hanib
Le #19831661
Salut Pierre,

peut être ouvrir et fermer la base avant de la copier.
Voire la compacter..

Driss

"Pierre Rivet" 4a685597$0$23447$
Bonjour à tous,

Avant de sauvegarder une base de données, par une instruction de type

FileCopy CHEMINBASE,SAUVEGARDE

j'aimerais savoir s'il y a un moyen de vérifier que la base de données (en
Access 2000) n'est pas corrompue.

Le risque est évidemment de recopier une base corrompue en une autre base
corrompue.

Merci à l'avance,

Pierre




Philippe Klein
Le #19841681
"Pierre Rivet" news:4a685597$0$23447$:

Le risque est ‚videmment de recopier une base corrompue en une autre
base corrompue.




Partant du principe "ceinture & bretelles"
recopier au début du programme
la base avec la date du jour.
Histoire d'avoir une copie avant traitement.

--
www.elite-auto.fr
www.cousu-main.fr
www.mycbr.dyndns.org
Pierre Rivet
Le #19849131
Merci de cette idée,

Je vais essayer de la mettre en pratique...

Problème, la base de données peut atteindre une taille assez importante.
Donc au bout d'un moment, risque de prise de place importante dans le disque
dur, sauf si je trouve un sous programme pour supprimer les copies datant
d'une dizaine de jours, par exemple...

Affaire à suivre...

Encore merci,

Pierre

"Philippe Klein"
"Pierre Rivet" news:4a685597$0$23447$:

Le risque est ,videmment de recopier une base corrompue en une autre
base corrompue.




Partant du principe "ceinture & bretelles"
recopier au début du programme
la base avec la date du jour.
Histoire d'avoir une copie avant traitement.

--
www.elite-auto.fr
www.cousu-main.fr
www.mycbr.dyndns.org


Jean-marc
Le #19849381
Pierre Rivet wrote:
Merci de cette idée,

Je vais essayer de la mettre en pratique...

Problème, la base de données peut atteindre une taille assez
importante. Donc au bout d'un moment, risque de prise de place
importante dans le disque dur, sauf si je trouve un sous programme
pour supprimer les copies datant d'une dizaine de jours, par
exemple...



Hello,

pour cette partie, c'est assez simple;

1) Tu définis un répertoire dans lequel tu places tes copies

2) tu crées chaque copie avec FileCopy en générant un nom de la
forme nom_initial.YYYYMMDDHHSS.backup (ou ce que tu veux pour autant
que ce soit unique.

3) tu changes la date de création de la copie en utilisant l'API
SetFileTime
http://msdn.microsoft.com/en-gb/library/ms724933(VS.85).aspx

Un exemple d'utilisation ici:

4) Lors de la création d'une copie, tu en profites pour éliminer
les copies anciennes en parcourant les copies déjà existantes
et en récupérant leur date de création avec la
fonction VB filedatetime().
Tu n'as plus ici qu'à éliminer les copies plus vieilles
que X jours. Tu peux t'aider pour cela de la fonction datediff().

Si tu ne veux pas utiliser SetFileTime, tu peux simplement
procéder à l'élimination des copies les plus anciennes sur base
du nom si tu as respecté la convention de nommage xxxYYYYMMDDHHSS.

Cordialement,


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Jean-marc
Le #19849371
> 3) tu changes la date de création de la copie en utilisant l'API
SetFileTime
http://msdn.microsoft.com/en-gb/library/ms724933(VS.85).aspx

Un exemple d'utilisation ici:



J'ai oublié le lien:
http://vbnet.mvps.org/index.html?code/fileapi/folderdatetime.htm

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
David
Le #19849771
Bonjour,

Si j'ai bien compris votre problématique
j'ai réalisé à mon usage une programme
comme vous le souhaitez.
Si cela vous dis vous pouvez vous en inspirer
et certainement l'améliorer :.

http://users.skynet.be/DAVID/Fichiers_Tempo.htm

Il s'agit du programme intitulé : "Enregistrer"

Je l'utilise depuis des années pour sauvegarder ma base
de données sans soucis.
Bien sur il est paramétrer pour correspondre à mon usage.

--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/
Cette page est transmise avec des électrons 100% recyclés.

"Jean-marc" 4a707049$0$2860$
3) tu changes la date de création de la copie en utilisant l'API
SetFileTime
http://msdn.microsoft.com/en-gb/library/ms724933(VS.85).aspx

Un exemple d'utilisation ici:



J'ai oublié le lien:
http://vbnet.mvps.org/index.html?code/fileapi/folderdatetime.htm

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;






Pierre Rivet
Le #19853251
Bonjour à tous,

et merci de vos réponses.

Pour l'instant, je réponds seulement à David,

car je viens de "chiader" son application, qui me semble très intéressante.

A mon avis, on pourrait l'améliorer, comme il le suggère, en remplaçant la
ligne
FileCopy Disque, CommonDialog1.FileName

par une ligne du type
DBEngine.CompactDatabase Disque, CommonDialog1.FileName, dbLangGeneral

on gagnerait un compactage de la base...

Par contre, ce qui m'intrigue, c'est sa ligne dans le bas de sa Grid, avec
les mots "Bon" ou "Mauvais" ???
Cela peut-il signifier que la base est corrompue ?

Pourrait-il nous en dire plus ?

Merci,

Pierre

Je vais maintenant examiner la réponse de Jean Marc....


http://users.skynet.be/DAVID/Fichiers_Tempo.htm

Il s'agit du programme intitulé : "Enregistrer"

Je l'utilise depuis des années pour sauvegarder ma base
de données sans soucis.
Bien sur il est paramétrer pour correspondre à mon usage.




Pierre Rivet
Le #19854421
Réponse à Jean Marc, que je remercie à nouveau au passage,

J'ai fait en détail l'application conformément au lien.
J'ai effectivement pu changer la date de modification pour un répertoire et
pour des fichiers.
C'est limite dangereux pour trafiquer des informations...
Mais je crois que ça ne répond pas vraiment à ma question, qui était de
savoir si une base était ou n'était pas corrompue...

Merci encore,

Pierre



"Jean-marc" 4a707049$0$2860$
3) tu changes la date de création de la copie en utilisant l'API
SetFileTime
http://msdn.microsoft.com/en-gb/library/ms724933(VS.85).aspx

Un exemple d'utilisation ici:



J'ai oublié le lien:
http://vbnet.mvps.org/index.html?code/fileapi/folderdatetime.htm









David
Le #19871551
Bonjour Pierre,

A mon avis, on pourrait l'améliorer, comme il le suggère, en remplaçant
la ligne
FileCopy Disque, CommonDialog1.FileName
par une ligne du type
DBEngine.CompactDatabase Disque, CommonDialog1.FileName, dbLangGeneral







Merci pour l'idée; je savais pas que cela pouvait se faire par
programmation.

Cela peut-il signifier que la base est corrompue ?







Non, c'est juste une comparaison; plutôt que de lire chaque
chiffre cela me permet de lire d'un seul coup d'un seul,
si la copie est conforme à l'original.
Mais il existe sûrement des mots plus appropriés que
bon et mauvais.

--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/
Cette page est transmise avec des électrons 100% recyclés.



"Pierre Rivet" 4a71755d$0$17784$
Bonjour à tous,

et merci de vos réponses.

Pour l'instant, je réponds seulement à David,

car je viens de "chiader" son application, qui me semble très
intéressante.

A mon avis, on pourrait l'améliorer, comme il le suggère, en remplaçant la
ligne
FileCopy Disque, CommonDialog1.FileName

par une ligne du type
DBEngine.CompactDatabase Disque, CommonDialog1.FileName, dbLangGeneral

on gagnerait un compactage de la base...

Par contre, ce qui m'intrigue, c'est sa ligne dans le bas de sa Grid, avec
les mots "Bon" ou "Mauvais" ???
Cela peut-il signifier que la base est corrompue ?

Pourrait-il nous en dire plus ?

Merci,

Pierre

Je vais maintenant examiner la réponse de Jean Marc....


http://users.skynet.be/DAVID/Fichiers_Tempo.htm

Il s'agit du programme intitulé : "Enregistrer"

Je l'utilise depuis des années pour sauvegarder ma base
de données sans soucis.
Bien sur il est paramétrer pour correspondre à mon usage.








Pierre Rivet
Le #19874501
Merci David,

J'ai finalement récupéré, en l'adaptant à mon besoin, votre application dans
mon application de sauvegarde.

Je recherche la sauvegarde précédente, et je compare la taille des deux
fichiers. Si la suivante a une taille inférieure à la précédente, une fois
compactée, j'émets un message d'alerte.
C'est ce que j'ai trouvé de mieux pour l'instant.

Merci encore,

Pierre



"David" %
Bonjour Pierre,

A mon avis, on pourrait l'améliorer, comme il le suggère, en remplaçant
la ligne
FileCopy Disque, CommonDialog1.FileName
par une ligne du type
DBEngine.CompactDatabase Disque, CommonDialog1.FileName, dbLangGeneral







Merci pour l'idée; je savais pas que cela pouvait se faire par
programmation.

Cela peut-il signifier que la base est corrompue ?







Non, c'est juste une comparaison; plutôt que de lire chaque
chiffre cela me permet de lire d'un seul coup d'un seul,
si la copie est conforme à l'original.
Mais il existe sûrement des mots plus appropriés que
bon et mauvais.

--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/
Cette page est transmise avec des électrons 100% recyclés.



"Pierre Rivet" 4a71755d$0$17784$
Bonjour à tous,

et merci de vos réponses.

Pour l'instant, je réponds seulement à David,

car je viens de "chiader" son application, qui me semble très
intéressante.

A mon avis, on pourrait l'améliorer, comme il le suggère, en remplaçant
la ligne
FileCopy Disque, CommonDialog1.FileName

par une ligne du type
DBEngine.CompactDatabase Disque, CommonDialog1.FileName, dbLangGeneral

on gagnerait un compactage de la base...

Par contre, ce qui m'intrigue, c'est sa ligne dans le bas de sa Grid,
avec les mots "Bon" ou "Mauvais" ???
Cela peut-il signifier que la base est corrompue ?

Pourrait-il nous en dire plus ?

Merci,

Pierre

Je vais maintenant examiner la réponse de Jean Marc....


http://users.skynet.be/DAVID/Fichiers_Tempo.htm

Il s'agit du programme intitulé : "Enregistrer"

Je l'utilise depuis des années pour sauvegarder ma base
de données sans soucis.
Bien sur il est paramétrer pour correspondre à mon usage.












Publicité
Poster une réponse
Anonyme