Bonjour,

je travaille sous Ubuntu 11.10 , et je veux développer une page web qui permet d'exporter une requête SQL (pas une base de donné) dans un fichier .sql , j'ai recherché sur Internet sur une commande linux qui permet de faire l'export et j'ai trouvé celle ci :

mysqldump -r /home/user/Desktop/export.sql --databases world --tables City --where='ID = 1'
j'ai trouvé aussi que Java peut éxecuter une commande linux ou MsDos en utilisant la fonction exec() de 'Runtime '.

en assemblant les deux parties j'ai arrivé à ce code décrit ci-dessous :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
public class TestExport {
 
public static void main(String[] args) {
try {
Runtime.getRuntime().exec("mysqldump -r /home/user/Desktop/export.sql --databases world --tables City --where='ID = 1'");
Runtime.getRuntime().exec("chmod -R 777 /home/user/Desktop/export.sql");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
le problème est que ce code java me génére un fichier 'export.sql' comportant juste des commentaire de mysqldump et pas des requêtes sql (create,insert) , tandis que si j'execute la commande linux décrit pécédemment dans la fenêtre de console , l'export marche très bien.

SVP,est-ce que quelqu'un peut m'aider à résoudre ce problème ?

Juste pour info la base de donnée que j'utilise s'appelle 'world' et le table qui subit la requête est 'City'