Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2788 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Restauration de fichier .bak ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Restauration de fichier .bak ?

n°1890643
neo18045
Posté le 03-06-2009 à 00:25:57  profilanswer
 

Bonsoir,
 
Voilà j'ai un gros soucis.
 
Pour le BTS j'ai cinq projet à présenter et parmis ceux ci un sera choisi le jour de mon épreuvre pratique.
Un de mes projet me pose un gros soucis.
 
En fait je voulais faire de l'archivage en ligne avec une base SQL Server, donc en gros une sauvegarde, une restauration et une suppression de données.
 
La sauvegarde marche nikel par contre la restauration impossible. J'ai testé ma requete direct sous SQL Server elle fonctionne nikel, mais elle ne veut pas s'éxécuter quand je passe par PHP.
 
Voilà tout le code de ma page d'éxécution...
 
    echo 'Debut';
     
    $query = "SELECT valeurConfig FROM configuration";
    $query.= " WHERE libConfig = 'emplacementBackup'";
    $result = mssql_query($query);
    $row = mssql_fetch_array($result);
     
    $nomBackup = $_SESSION['base'].date(Y).date(m).date(d).date(H).date(i).date(s);
     
    $cheminBackup = $row[0].$nomBackup.'.bak';
     
    if($_POST['typeArchivage'] == 'complet')
    {
     echo 'Creation du backup<br>';
     $query = "BACKUP DATABASE ".$_SESSION['base'];
     $query.= " TO DISK = '".$cheminBackup."'";
     $query.= " WITH FORMAT";
     $result = mssql_query($query);
     echo 'Fin de création du backup<br>';
     
     $ligne = 0;
     
     $query = "RESTORE FILELISTONLY";
     $query.= " FROM DISK = '".$cheminBackup."'";
     $result = mssql_query($query);
     while($row = mssql_fetch_array($result))
     {
      if($ligne == 0)
      {
       $nomLogiqueD = $row[0];
       $cheminFichierMDF = dirname($row[1]).'\\'.$nomBackup.'.mdf';
       $ligne = $ligne+1;
      }
      else
      {
       $nomLogiqueL = $row[0];
       $cheminFichierLDF = dirname($row[1]).'\\'.$nomBackup.'.ldf';
      }
     }
     
     echo $nomLogiqueD.'<br>'.$cheminFichierMDF.'<br>'.$nomLogiqueL.'<br>'.$cheminFichierLDF.'<br>';
     
     echo 'Restauration du backup<br>';
     $query = "RESTORE DATABASE ".$nomBackup;
     $query.= " FROM  DISK = '".$cheminBackup."'";
     $query.= " WITH FILE = 1,";
     $query.= " MOVE '".$nomLogiqueD."' TO '".$cheminFichierMDF."',";
     $query.= " MOVE '".$nomLogiqueL."' TO '".$cheminFichierLDF."',";
     $query.= " NOUNLOAD,";
     $query.= " STATS = 10";
     $result = mssql_query($query);

     echo 'Fin de restauration du backup';
    }
 
Voilà, et c'est donc la requete en rouge qui ne veut pas s'éxécuter sauf sous SQL Server.
 
Donc si quelqu'un trouve une solution qu'il me la fasse parvenir car je cherche depuis un moment, mon BTS est lundi ou mardi prochain et je commence déjà à plancher sur un projet qui pourrait remplacer celui la.
 
Merci d'avance.

mood
Publicité
Posté le 03-06-2009 à 00:25:57  profilanswer
 

n°1890649
ZeBix
edit &gt; preview
Posté le 03-06-2009 à 03:21:06  profilanswer
 

Citation :

ne veut pas s'éxécuter


 
Salut, tu peux donner le message d'erreur que tu reçois  ?

n°1890785
macgawel
Posté le 03-06-2009 à 11:57:16  profilanswer
 

neo18045 a écrit :

Bonsoir,
 
Voilà j'ai un gros soucis.
 
Pour le BTS j'ai cinq projet à présenter et parmis ceux ci un sera choisi le jour de mon épreuvre pratique.
Un de mes projet me pose un gros soucis.
 
En fait je voulais faire de l'archivage en ligne avec une base SQL Server, donc en gros une sauvegarde, une restauration et une suppression de données.[...]
Voilà, et c'est donc la requete en rouge qui ne veut pas s'éxécuter sauf sous SQL Server.


Il est où, le problème ?

n°1890828
neo18045
Posté le 03-06-2009 à 13:44:34  profilanswer
 

ZeBix a écrit :

Citation :

ne veut pas s'éxécuter


 
Salut, tu peux donner le message d'erreur que tu reçois  ?


 
Warning: mssql_query() [function.mssql-query]: Query failed in C:\Program Files\wamp\www\Nouveau dossier\PROJET\archivage\compteRendu.php on line 89
 
La ligne 89 correspond à la dernière ligne en rouge. L'erreur indique un echec d'execution de la requete, or comme j'avais expliquer, j'ai affiché la requete qui était était executer et je l'ai testé directement sous SQL Server et la aucun souci. Mais depuis la page HTML j'ai ce message.
 

macgawel a écrit :


Il est où, le problème ?


 
Le problème est que justement ça ne marche que quand je tape la requete directement sous SQL Server. Or, ca devrait fonctionner depuis la page HTML ce que ça ne fait pas.


Message édité par neo18045 le 03-06-2009 à 13:49:53
n°1891041
rufo
Pas me confondre avec Lycos!
Posté le 03-06-2009 à 16:54:34  profilanswer
 

A vérifier :
1) pb de login/mdp
2) faire un echo de ladite requête pour voir s'il manque pas un truc
3) ça serait pas un pb de timeout ou de fichier trop gros?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1891060
neo18045
Posté le 03-06-2009 à 17:14:05  profilanswer
 

rufo a écrit :

A vérifier :
1) pb de login/mdp
2) faire un echo de ladite requête pour voir s'il manque pas un truc
3) ça serait pas un pb de timeout ou de fichier trop gros?


 
1) login et mdp à SQL Server tu veux dire ? Parce que je ne pense pas que ce soit ça étant donné que la requete juste au dessus qui fait la sauvegarde fonctionne très bien.
2) Déjà fait et un copier-coller de cette requete sous SQL Server m'a montré qu'elle fonctionne très bien et qu'il ne manque rien.
3) Fichier trop gros ? Sinon sous SQL Server la requete ne prend même pas 5 seconde à s'executer.

n°1891068
rufo
Pas me confondre avec Lycos!
Posté le 03-06-2009 à 17:43:24  profilanswer
 

oui mais là, t'es en php, ça peut donc être plus long...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1891092
neo18045
Posté le 03-06-2009 à 20:29:18  profilanswer
 

rufo a écrit :

oui mais là, t'es en php, ça peut donc être plus long...


 
J'ai fais un test en mettant ce bout de code en haut du script : ini_set ('max_execution_time', 0);
 
Mais toujours la même erreur. Mais d'après ce que tu dis, si c'est dû a un problème de temps d'execution, ca devrait tourné un petit moment avant d'afficher l'erreur. Or là, l'erreur est quasiment immédiate.

n°1891447
aideinfo
Posté le 04-06-2009 à 22:28:22  profilanswer
 

Ca ne serait pas un problème au niveau du format de la base ? Quelle version de PHP ? De SQL Server ?


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°1891448
drasche
Posté le 04-06-2009 à 22:30:59  profilanswer
 

Question conne: as-tu vérifié le chemin auquel tu cherches à accéder? Est-ce qu'il existe sur la machine qui héberge SQL Server?


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Restauration de fichier .bak ?

 

Sujets relatifs
[java]Lecture d'un gros fichier texteafficher un fichier .txt dans une messagebox . possible ?
[VB] Afficher un fichier CSV[RESOLU]Problème de lecture de fichier tout bête
Inclure un fichier de n'importe où, online et easyphpexecuter un fichier .java
Envoyer La Source dans un fichier Texte[C] Ecriture/lecture de float dans un fichier
[Javascript] Load d'un fichier depuis URL ??[Resolu]Problème de mise en forme de Fichier .txt
Plus de sujets relatifs à : Restauration de fichier .bak ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR