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

Bases de données Delphi Discussion :

Sauvegarde BDD FireBird sous DELPHI


Sujet :

Bases de données Delphi

  1. #21
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    En regardant le compo tu retrouves les options disponibles de l'utilitaire gfix.
    Tu l'utilises donc de la même façon.

    Tu lui renseignes les options que tu souhaites ([roMendDB] pour le backup), puis tu lances avec Run.

    Imbrique le Run dans un Try/Except pour détecter une éventuelle erreur.

    @+

  2. #22
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    Bon j'ai bien écrit quelque chose, ca compile, l'appli se lance, mais question con, comment je teste si ma procédure repair marche >_<

    En gros comment je fais pour ruiner ma BDD et avoir besoin de la réparer

  3. #23
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par nowayyy36
    comment je teste si ma procédure repair marche
    Si le Run ne déclenche pas d'exception, c'est que tout est OK !

    Citation Envoyé par nowayyy36
    En gros comment je fais pour ruiner ma BDD et avoir besoin de la réparer
    Tu n'as peur de rien toi !! En vérité j'en sais rien.
    En phase de développement je triture mes bases de données (pgm qui plante, transaction aux oubliettes, etc...) et je ne me suis jamais retrouvé avec une base corrompue. Alors...

    @+

  4. #24
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Ouah !! je vois que tu as bien avancé

    Citation Envoyé par nowayyy36
    En gros comment je fais pour ruiner ma BDD et avoir besoin de la réparer
    je devrais te présenter certain de mes utilisateurs
    en gros ils lancent des programmes avec traitement long !? et hop un petit Alt+Ctrl+Suppr , au bout d'un moment ça sature mais ils sont en [IB 5.6]
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #25
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par SergioMaster
    et hop un petit Alt+Ctrl+Suppr
    Sympas tes utilisateurs.
    Je compatis

  6. #26
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    ouais ! surtout que le plus enclin à ce genre de choses c'est le patron
    dur dur

    une autre piste pour flinguer la base , utiliser un editeur hexa ?

    moi j'ai utilisé l'editeur pour renommer des champs d'un Backup
    passage de CASE (ib 5.6) -> (FIB2 'CASE mot réservé')
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #27
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    Ben le run marche et j'ai pas d'exeptions

    Tu n'as peur de rien toi !
    Peur de rien moi ^^ Nan plus sérieusement je travaille sur une base de données de test que j'ai créé vite fait

    Bon ben je ballance mes sources.. Peut etre qu'un jour un stagiaire encore plus incompétent que moi passera par la ( J'ai dit peut etre hein, je sais que ca va être dur :p )

    BACKUP
    ///////////////////////////////////////////////////////////////////////////////////////
    // Procédure permettant de sauver une BDD
    procedure TDataModule_debutant.save;
    var jvBackup : TJvUIBBackup;
    begin
    jvBackup := TJvUIBBackup.Create(nil);
    try
    // On renseigne l'adresse de la BDD
    jvBackup.Database:='C:\Documents and Settings\AF36\Desktop\BDD\BDDs de Test\Statistique\FireBird\STATSFIREBIRD.FDB';
    // Voir les erreurs
    jvBackup.Verbose := true;
    // Login
    jvBackup.UserName:='SYSDBA';
    // Pwd
    jvBackup.PassWord:='masterkey';
    // On efface le BackupFiles
    jvBackup.BackupFiles.Clear;
    // On place le chemin et le nom du fichier de sauvegarde de la BDD ( ici c'est dans un champs )
    jvBackup.BackupFiles.add(Form_delph_IB_FRB.Edit2.Text);
    // Go ^^
    jvBackup.Run;
    finally
    // On libère
    jvBackup.Free;
    end;
    end;
    ///////////////////////////////////////////////////////////////////////////////////////
    RESTORE
    ///////////////////////////////////////////////////////////////////////////////////////
    // Procédure permettant de restaurer une BDD
    procedure TDataModule_debutant.load;
    var jvRestore : TJvUIBRestore;
    begin
    jvRestore := TJvUIBRestore.Create(nil);
    try
    // On renseigne l'adresse de la BDD
    jvRestore.Database:='C:\Documents and Settings\AF36\Desktop\BDD\BDDs de Test\Statistique\FireBird\STATSFIREBIRD.FDB';
    // Voir les erreurs
    jvRestore.Verbose := true;
    // Les options choisies pour la restauration
    jvRestore.Options := [roReplace,roUseAllSpace];
    // Login
    jvRestore.UserName:='SYSDBA';
    // Pwd
    jvRestore.PassWord:='masterkey';
    // On efface le BackupFiles
    jvRestore.BackupFiles.Clear;
    // On place le chemin et le nom du fichier de sauvegarde de la BDD ( ici c'est dans un champs )
    jvRestore.BackupFiles.add(Form_delph_IB_FRB.Edit2.Text);
    // Go ^^
    jvRestore.Run;
    finally
    // On libère
    jvRestore.Free;
    end;
    end;
    ///////////////////////////////////////////////////////////////////////////////////////
    REPAIR
    ///////////////////////////////////////////////////////////////////////////////////////
    // Procédure permettant de réparer une BDD
    procedure TDataModule_debutant.repair;
    var jvUIBRepair : TJvUIBRepair;
    begin
    jvUIBRepair := TJvUIBRepair.Create(nil);
    try
    // On renseigne l'adresse de la BDD
    jvUIBRepair.Database:='C:\Documents and Settings\AF36\Desktop\BDD\BDDs de Test\Statistique\FireBird\STATSFIREBIRD.FDB';
    // Les options choisies pour la reparation
    jvUIBRepair.Options:= [roMendDB, roValidateFull, roIgnoreChecksum];
    // Login
    jvUIBRepair.UserName:='SYSDBA';
    // Pwd
    jvUIBRepair.PassWord:='masterkey';
    // Go ^^
    jvUIBRepair.Run;
    finally
    // On libère
    jvUIBRepair.Free
    end;
    end;
    ///////////////////////////////////////////////////////////////////////////////////////

    Bon ca fait 3jours que je fais du Delphi, alors on évite de me déchirer trop violemment si ce que j'ai fait c'est moisi ^^

  8. #28
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    Ouah !! je vois que tu as bien avancé
    Mici Jfous rien au bahut, mais en entreprise je bosse ^^

    Euh si je lance une génération de données dans ma base ( 9000 Insert ) et que je ferme mon application "à l'arrache" pendant la dite génération.. Un repair ca ferait quelque chose après ^^ ?

  9. #29
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par nowayyy36
    Euh si je lance une génération de données dans ma base ( 9000 Insert ) et que je ferme mon application "à l'arrache" pendant la dite génération.. Un repair ca ferait quelque chose après ^^ ?
    Ca c'est une question pour qi130.
    Personnellement je dirais que ta transaction va tomber aux oubliettes (limbo transaction).
    gfix (et certainement le JvUIBRepair) devrait traité ce genre de cas. Mais je n'ai pas d'autres détails à te donner.

    @+

  10. #30
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    Ben ca serait cool si il pouvait passer par là ^^

    Bon pour la génération, je teste après manger et je vous dis ce que ca a donné.. Mais je suis pas sur que le repair marche.. Autant j'ai pu tester le Backup / Restore et voir le resultat, pour le repair, tout ce que je sais, c'est que ca plante pas.. Dans mon appli je calcule le temps d'exécution de chaque action déclenchée par un button, or quand je clique sur mon joli bouton "repair" il m'affiche bien un temps.. Donc a priori il fait quelque chose ^^ Jpense que ca marche..

    Jteste ca après manger, et je reviens flood les résultats ^^

  11. #31
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    Bon ben j'ai beau coupé la génération de toutes manières que je peux : Fermeture de l'appli, Ctrl+Alt+Suppr : Kill process, Reboot du PC, ma BDD ne bronche pas et se relance sans problème à chaque fois..

    Donc je ne peux pas tester mon repair..
    - J'ai essayé de modifier mon fichier backup avec un éditeur d'hexa, et quand je veux restaurer à partir de ce fichier, il refuse de faire la restauration..
    - J'ai essayé de modifier le fichier même de ma BDD.. Bon la elle est corrompue, mais mon repair n'y peut rien puisque je ne peux même pas ouvrir ma base.. Rien que le fait de la sélectionner sur IBExpert plante le serveur.
    - J'ai essayé de supprimer des tables systèmes.. Il y en a que je ne peux pas supprimer. J'ai reussi à en modifier / supprimer quelques unes, et la BDD s'en fout.. Elle ne me dit rien, et continue de fonctionner.. Et un repair ne me recréé pas les tables systèmes supprimées..

    Je ne sais plus trop quoi faire ^^ Le REPAIR est fait, je le laisse, mais il sert pas à grand chose ^^
    J'espère que ce topic pourra aider quelqu'un un jour :p
    Je remercie SergioMaster et Cl@udius !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. connexion a une BDD PostgreSql sous Delphi
    Par Matt_NewDev dans le forum Bases de données
    Réponses: 5
    Dernier message: 16/06/2010, 10h44
  2. Réponses: 1
    Dernier message: 07/04/2008, 21h29
  3. Sauvegarde et restauration sous Delphi 6
    Par fofmata dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/12/2007, 20h50
  4. Récupérer une image d'une bdd access sous delphi
    Par RodEpsi dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/11/2006, 17h19
  5. Lenteur InterBase / Firebird avec delphi 7 sous XP
    Par obione dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/11/2004, 20h22

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