Bonjour,
J'essaie de lancer une requête mysql via un fichier BAT et je n'y arrive pas...
Voici comment je procède :
1. J'ai créé un fichier "MaRequete.txt" qui contient :
use mabase;
select count(*) as NbArticles from articles
2. J'ai créé un fichier "Lancement.BAT" qui contient :
mysql -u root -pmonpassword < D:\MaRequete.txt > D:\Result.txt
Si je lance une fenêtre DOS et que je saisis directement dedans la ligne de commande ci-dessus, je n'ai aucun problème, mon fichier "Result.txt" est bien créé et contient bien le nombre d'articles de ma base.
Mais si je lance le fichier "Lancement.BAT", le fichier "Result.txt" est bien créé mais il est vide.
J'ai ajouté une instruction "pause" dans mon fichier BAT pour voir ce qui se passait, et je constate que l'erreur suivante apparaît :
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
C'est donc manifestement un problème de droits, bien que je ne comprenne pas comment l'utilisateur peut être différent entre le fait de lancer le BAT ou d'indiquer la même instruction en ligne de commande...
Mais ce qui est encore plus étrange, c'est que mon compte root a bien tous les droits sur ma base de données :
SHOW GRANTS FOR root@localhost;
=>
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD 'xxxxxxx' WITH GRANT OPTION |
Merci pour votre aide.
Cordialement,
Delphine
Partager