Mes donner paradox 7 s'envole!!

Résolu
cs_younesken1 Messages postés 39 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 23 mars 2011 - 18 févr. 2007 à 23:18
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 24 févr. 2007 à 09:20
bonne soirée tout le monde!


<!-- nothing comment -->
<!-- nothing comment -->
kelkun peu til maider.
merci enormement d'avance.

8 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
24 févr. 2007 à 09:20
La solution consiste à appeler la méthode FlushBuffers.
En effet, les données sont dans une zone tampon après un appel à la méthode Post. Les données ne sont effectivement écrites physiquement sur disque par Post qu'à la fermeture des tables, sauf si l'on appelle FlushBuffers (en français : vider les tampons) avant. Evidemment, si la coupure a lieu entre Post et FlushBuffers, là il n'y a aucune solution...Mais déjà, avec ça, les risques sont très limités.

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.afipa.net/
3
cs_younesken1 Messages postés 39 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 23 mars 2011
18 févr. 2007 à 23:23
  bonne soirée tout le monde
  g un prb sur mes donner paradox7
 bon voila!
  quand je fait une application bdd
  je la passe en mode edit, je modifie mes donner ,puis j'execute post
  normalement tout ce trouve sauvegarder sur ma base
  le prb c que si une chute de tension arrive et que le micro redemarre toute mes donner sont perdu
  meme si g appeler la methode 'post' avant que le micro ne redemarre.
  merci
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
19 févr. 2007 à 14:18
Bonjour,

J'ai remarqué que lorsqu'on travaille sur une appli exécutée à partir
de Delphi, les enregistrements ne se font pas toujours dans les bases
Paradox... Essaie en lançant ton exécutable.

Sinon, procures toi un onduleur... Contre les chutes de tension, y a pas mieux !
Simon
0
cs_younesken1 Messages postés 39 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 23 mars 2011
19 févr. 2007 à 18:16
Salut SIMONPELLOQUIN, merci dessayer de m'aider.
pour ce que ta remarqué je les remarquer aussi..mais les evenement qui ce sont déroulé sont les suivants:
g travaillé avec lexecutable hors delphi, g installé mon application chez un client .
premier accident: chute de tension résultat: les donner qui ont été ajouter et/ou modifier sans que lapplication ne se soit fermer ont disparu .g retrouver que les donner dorigine.
deuxiéme accident g préssé sur le boutton reset de la machine sans faire attention . resultat: meme resultat.

donc mon hypothèse et que les modifiications la BDD se font dabord sur un fichier temporaire , et quand l'aplication se termine normalement il est stocker difinitivement ur la BDD. et je veu quelle soit enregistrer directement sur la BDD non sur un Fichier temp.
je ne vois pas comment je peu faire çà.
merci pour votre aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
20 févr. 2007 à 09:02
Il faut peut etre regarder du coté du composant TSession (On peut peut etre y valider des transactions)

Simon
0
cs_younesken1 Messages postés 39 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 23 mars 2011
20 févr. 2007 à 21:17
je ne sias pas. mais je vais essayer de voir ce composant: g pas le choix...
merci simon pour cette proposition....
0
Utilisateur anonyme
22 févr. 2007 à 18:53
Salut,

"donc mon hypothèse et que les modifiications la BDD se font dabord sur un fichier temporaire " : Absolument pas.

La preuve il suffit de faire un simple ajout surt une application élémentaire et de constater qu'en ouvrant la BDD via DataBase DeskTop, ton enregistrement apparait.

Ton probleme est identique au copier coller d'un fichier : si tu coupes le PC (accident ou voulu) avant que le transfert soit finit, ben le transfert est tout simplement annulé ce qui semble évident.

Le probleme est juste que tu coupes l'alimentation avant que les enregistrements soient finis : surement que tu as mal codé ton application.

Mais bon la probabilité pour avoir une pannne de  courant est vraiment faible puis ce probleme est posé dans un cadre bcp plus général que les BDD.

@+
0
cs_younesken1 Messages postés 39 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 23 mars 2011
23 févr. 2007 à 21:33
salut franky,
"Ton probleme est identique au copier coller d'un fichier : si tu coupes le PC (accident ou voulu) avant que le transfert soit finit, ben le transfert est tout simplement annulé ce qui semble évident."
le problème est que aprés avoir fais des modif sur ma bdd est appelé la procedure table1.post pour les sauvegarder..hé bein je peu attendre 20 minute sont rien faire sur l'application(on la laissant ouverte), et enredemaraant volontairement le micro tout s'envole . 20 minute sans rien faire je crois que elle a eu le temp de tout sauvefarder!!
ce probleme je l'ai en sachant que je travaille avec delphi7 version anglaise.
1 ami a moi a delphi7 version francaise , g tester hier sur son pc mon application , et tout mes donneés était sauvegarder meme en coupant le courant. bizarre ce BDE!!
0
Rejoignez-nous