Script de traitement SQL

Script de traitement SQL - Shell/Batch - Programmation

Marsh Posté le 14-01-2013 à 13:43:40    

J'ai trouvé la syntaxe suivante :

Code :
  1. for /r [repertoireParent] %%X in (ensemble) do commande


J'ai adapté pour avoir ;

Code :
  1. for /r \\192.168.0.254\back_up\ %%X in (*.sql) do echo %%X


Mais ça ne passe pas, je voudrai au fait importer tous fichiers des répertoire back_up (j'ai un dossier par bdd dans ce dossier là), une idée ? Le soucis doit venir du chemin ... A la place de l'echo je mettrai biensûr aprés la ligne d'importation d'une BDD avec X en variable.
Merci;

Reply

Marsh Posté le 14-01-2013 à 13:43:40   

Reply

Marsh Posté le 14-01-2013 à 14:45:30    

J'ai trouvé un autre moyen (je parcours les sous répertoires un par un ...) l'importation fonctionne ..., je voudrai maintenant dans chaque boucle [B]do [/B]appeler un fichier .sql, comment faire ?
Merci;

Reply

Marsh Posté le 14-01-2013 à 15:27:25    

La syntaxe fonctionne sur mon poste (sur un chemin local sur D: ou par un accès réseau \\localhost\)

 

Concernant [repertoireParent] il faut l'entourer de double quotes pour éviter les problèmes d'espace.

 

Tu n'as pas répondu à ma question sur l'autre sujet, avant d'automatiser le batch, est ce que tu as réussi à faire fonctionner les commandes à la main sur un seul fichier?

 

Edit : à priori pour appeler un fichier .sql, la commande est la même que pour réintégrer ton fichier de backup qui est aussi un .sql. La commande indiquée sur l'autre sujet avait l'air juste, à vérifier si la syntaxe pour l'intégration dans le batch est correcte.


Message édité par x1fr le 14-01-2013 à 15:30:56

---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
Reply

Marsh Posté le 14-01-2013 à 15:42:36    

Merci, j'ai aussi une autre question, je voudrai faire passer le nom d'une BDD dans le script sql, c'est possible (ou bien sinon dans un script .php) ? Au fait, dans chaque boucle DO je dois ouvrir un script .sql où le nom de la BDD sera différénte (je voudrais l'attribuer dans la boucle) comme ca je n'aurai qu'un script sql ou php/sql.
Je voudrai aussi si c'est possible de savoir si le fichier a bien était executée (c'est un script d'insertion d'une BDD vers une autre, j'ai des requêtes table par table), aprés je voudrai renseigner si c'est bien fait ou non dans un log.
Merci;


Message édité par lp77 le 14-01-2013 à 15:43:21
Reply

Marsh Posté le 14-01-2013 à 16:17:03    

Selon quel critère le nom de la base de données va être défini? ça a l'air de se complexifier là, et je ne suis pas sûr que le batch puisse te permettre de faire tout ça du coup. Tu auras peut être plus de facilité à faire le traitement en PHP, pour pouvoir récupérer les messages d'erreur, les mettre dans un log, etc...
 
Il doit y avoir des exemples sur le net sur comment faire tout ça.


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
Reply

Marsh Posté le 14-01-2013 à 16:23:38    

Je voudrai avoir un message de confirmation (ou d'erreur) lors de l'execution du script .sql dans un fichier log. C'est possible ou bien je devrai executer les requête une à une ?
Pour le nom de la BDD, j'attribuerai cela en dur ...
Merci;


Message édité par lp77 le 14-01-2013 à 16:24:15
Reply

Marsh Posté le 14-01-2013 à 17:07:04    

Faut voir, c'est un domaine que je ne maitrise pas vraiment, mais en partant de l'hypothèse que batch est capable de récupérer les messages d'erreurs lors de l'appel à mysql.exe, il devrait être en mesure de faire tout ce que tu veux.
 
Encore une fois, le mieux est à mon avis que tu fasses toi même les manips à l'aide d'une console de commande windows pour un seul fichier de backup, et une fois que tu connais toutes les instructions nécessaire à ton traitement, tu te lances dans la réalisation du batch.


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed