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 :

Sauvegarder et restaurer


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut Sauvegarder et restaurer
    salut tt monde
    j'ai terminer une application avec trois Ttables dans un dossier BDD ,et je veut archiver ce dossier pour peut etre le restaurer celon les besoins.
    je ne saias comment faire et j'espere votre aide
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par MIWAN Voir le message
    j'ai terminé une application avec trois Ttables dans un dossier BDD ,et je veut archiver ce dossier pour peut etre le restaurer selon les besoins.
    Quelle BDD ?
    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

  3. #3
    Membre confirmé
    Avatar de JP.NUAGE
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 769
    Points : 542
    Points
    542
    Par défaut
    Envoyée par SergioMaster :
    Quelle BDD ?
    La bonne question. J'ai peut-être une réponse (j'ai assez soufert dessus)
    Ce qui se conçoit bien s'énonce clairement
    Et les mots pour le dire viennent aisément (Boileau)

  4. #4
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    bonjour tt le monde
    BDD base de donnee BDE (Normale )
    je m'explique je veut archiver une annee scolaire c'est a dire tout un repertoire contenant une ensemble de bases de donnees et si un eleve revient apres une periode pour chercher son buletin de notes je retourne a l'archive (restaurer le repertoire qui etait archivé )
    Merci encore pour l'humour

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    encore une fois BDE n'est pas une Base de Données
    BDE permet d'accéder à diverses Bases : ACCESS,PARADOX,INTERBASE etc...
    donc je réitére ma question Quelle Base de Données
    nota :
    • si c'est paradox il y a déjà eu un post sur ce sujet (le + facile une simple copie de fichier , les musts un archivage via un programme de compression)
    • si c'est interbase ou firebird , le backup
    • pour access je dirais la même chose que paradox
    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

  6. #6
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    Merci sergioMaster de votre attention
    je suis débutant qui a de mal en langage informatique .
    c'est une base PARADOX
    Merci

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    on y' est .

    maintenant quel voie choisir :
    le + facile une simple copie de fichier , les musts un archivage via un programme de compression
    voici une partie de code que j'utilise pour envoyer un ensemble de fichier Paradox (compressé dans un zip via 7Zip 7ZA.exe ) dans mon cas le nom commence toujours par 'ST'+FL(un numero)+xxxx

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    // preparation d'un repertoire temporaire s'il existe je le vide
    if DirectoryExists(Tempdir+'\'+FL)
       then begin
        // effacer Fichiers  précédents
        if FindFirst(TempDir+'\'+FL+'\*.*',faAnyFile-faDirectory,SearchRec)=0
        then DeleteFile(TempDir+'\'+FL+'\'+SearchRec.Name);
        while FindNext(SearchRec)=0 do DeleteFile(TempDir+'\'+FL+'\'+SearchRec.Name);
        FindClose(SearchRec);
       end
       else ForceDirectories(Tempdir+'\'+FL); // sinon création
    // copier fichiers dans ce repertoire temporaire
    if FindFirst(TempDir+'\ST'+FL+'*.*',faAnyFile-faDirectory,SearchRec)=0
       then begin
          FFile:=TempDir+'\'+SearchRec.Name;
          ToFile:=TempDir+'\'+FL+'\'+SearchRec.Name;
          MoveFile(PChar(FFile),PChar(ToFile));
       end;
      while FindNext(SearchRec)=0 do
       begin
          FFile:=TempDir+'\'+SearchRec.Name;
          ToFile:=TempDir+'\'+FL+'\'+SearchRec.Name;
          MoveFile(PChar(FFile),PChar(ToFile));
       end;
      FindClose(SearchRec);
     
    //*----------------------------------------------
    // COMPRESSION 7-ZIP
     lzFile:=TempDir+'\ST'+FL+'.ZIP';
     lzParam:=' a -tZIP '+lzFile+' "'+Tempdir+'\'+FL+'\*.*"';
     ShellExecute(Handle,'OPEN','C:\LALET\Programmes\7ZA.EXE',PChar(lzParam),nil,SW_HIDE);
    //----------------------------------------
    [edit] ayant supprimer une partie du code (copie d'un ensemble de fichiers images) je m'aperçois qu'il serait inutile de créer un répertoire temporaire je le laisse au cas où tu ne voudrais pas faire de compression

    bien sûr , après il reste à soit vider les fichiers soit détruire et recréer ceux-ci .
    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

  8. #8
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    Merci encore mille fois SergioMaster
    j'ai du mal a reconstitué ces procedures
    si vous pouvez me faire un code complet je serais tres reconnaissant
    mes excuses du derangements

    NB:c'est pour sauvegarder et restaurer mes données

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    détaillé ....
    soit trois tables nommées STELV,STCLA,STNOTE (tu remarqueras que j'ai fais exprès de de prendre des noms commençant pareil , en utilisant un peu ton exemple)
    STELV <- table élève , STCLA <-table Classe et STNOTE <-Table Notes

    la sauvegarde se fera dans une archive(zip) nommée ST+aaaa (pour année) et seront mises dans un sous répertoire Archive
    Sauvegarde sur l'évenemenent onClick d'un bouton (je reprend mon code en le modifiant)

    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
    17
    // preparation d'un repertoire d'archive
    var  ApplicationPath : String;
           AAAA : String;               
           lzFile,lzParam : String; 
    begin
    ApplicationPath:=ExtractFilePath(ParamStr(0)); // recuperation du repertoire de l'appli
    Ajouter ici le dialogue pour demander l'année (aaaa:=)
    if not DirectoryExists(ApplicationPath+'Archive')
       then  ForceDirectories(ApplicationPath+'Archive); // création
    
    //*----------------------------------------------
    // COMPRESSION 7-ZIP
     lzFile:=ApplicationPath+'Archive\ST'+AAAA+'.ZIP'; // nom de l'archive
     lzParam:=' a -tZIP '+lzFile+' "'+ApplicationPath+ST*.*"';
     ShellExecute(Handle,'OPEN',ApplicationPath+7ZA.EXE',PChar(lzParam),nil,SW_HIDE);
    //----------------------------------------
    Restauration Attention cette procédure écrase les fichiers en cours donc ne pas oublier de faire une sauvegarde avant
    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
    17
    18
    var  ApplicationDir,applicationPath : String;
           AAAA : String;               
           lzFile,lzParam : String; 
    begin
    ApplicationDir:=ExtractFileDir(ParamStr(0)); // recuperation du repertoire de l'appli
    ApplicationPath:=ExtractFilePath(ParamStr(0));
    Ajouter ici un Appel à un dialogue demandant de sauvegarder l'année en cours
    Ajouter ici le dialogue pour demander l'année à récupéré (aaaa:=)
    lzFile:=ApplicationDir+'Archive\ST'+AAAA+'.ZIP'; // nom de l'archive
    [/COLOR]if  FileExists(lzfile)
       then  begin
    //*----------------------------------------------
    // DECOMPRESSION 7-ZIP
     lzParam:=' e "'+lzfile+'" -o"'+applicationDir+'" -y';
     ShellExecute(Handle,'OPEN',ApplicationPath+'7ZA.EXE',PChar(lzParam),nil,SW_HIDE);
    //----------------------------------------
     end;

    Bon, tout ceci n'est pas testé , je l'écris à la volée et j'ai un doute sur ExtractFilePath et ExtractFileDir . pour moi ..Path récupére avec le '\' ..dir sans le '\', à toi de corriger si nécessaire

    bien sûr ce code nécessite 7ZIP ici(plus exactement l'executable en ligne de commande 7ZA de 7Zip) copié lui aussi dans le répertoire de l'application
    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

  10. #10
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    bonjour tt monde
    Merci sergiMaster
    avec ces codes vous m'avez apris tant de choses que j'ai voulu laisser pour plus tard . vous etes simpa ..
    --------------
    je vais revenir apres l'essai

    Merci beaucoup Maitre(Master)

  11. #11
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    apres l'essai j'ai recontrer quelques pbs
    bouton1
    st*.* = identificateur non déclarer

    bouton2 : jai ajouté SHELLAPI ---> Uses
    ShellExecute(Handle,'OPEN',ApplicationPath+'7ZA.EXE',PChar(lzParam),nil,SW_HIDE);
    Err = types incompatibles :'string'et 'PansiChar'

    voici ce que j'ai fait ici

  12. #12
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    effectivement, ici j'ai oublié une quote devant ST

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lzParam:=' a -tZIP '+lzFile+' "'+ApplicationPath+'ST*.*"';
    et là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ShellExecute(Handle,'OPEN',Pchar(ApplicationPath+'7ZA.EXE'),PChar(lzParam),nil,SW_HIDE);
    pour un code 'a la volée' , sans filet j'ai des excuses
    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

  13. #13
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    MErcccccccccccccccccccccciiiiiiiiiiiiiiiiiiiiiiiii
    SergioMaster = Vielen Dank = very thank's
    c'est resolu

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par MIWAN Voir le message
    MErcccccccccccccccccccccciiiiiiiiiiiiiiiiiiiiiiiii
    c'est resolu
    alors si c'est résolu , il faut cliquer sur pas de quoi
    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

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

Discussions similaires

  1. [MSDE] Copie, sauvegarde et restauration
    Par Pierre Fauconnier dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/04/2006, 14h04
  2. RMAN Sauvegarde et restauration
    Par KPAKPO dans le forum Recovery Manager
    Réponses: 4
    Dernier message: 10/03/2006, 14h54
  3. Réponses: 4
    Dernier message: 03/02/2006, 12h42
  4. Sauvegarde et Restauration données
    Par juniorAl dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 08/09/2005, 19h24
  5. sauvegarde et restauration des fichiers systèmes
    Par oumarsaw dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 01/09/2005, 21h28

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