Salut,
Je tente d'utiliser Runtime.exec pour appeler le binaire mysql afin de charger un fichier dans une base de données.
J'ai tenté toute ces syntaxes :
Soit j'obtiens l'aide de mysql dans tous les premiers cas, soit j'obtiens une IllegalArgumentException dans le dernier cas ou tout est en dur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 String sqlFiles = "H:/workEclipse/project/sql"; // String[] cmd = {MYSQL_PATH , "-h "+ DATABASE_HOST , "-u " +DATABASE_LOGIN , "--password="+DATABASE_PASSWORD , "-D "+DATABASE_DB , "< "+ "./test.sql" }; // String[] cmd = {MYSQL_PATH , "-h" , DATABASE_HOST , "-u" ,DATABASE_LOGIN , "--password="+DATABASE_PASSWORD , DATABASE_DB , "<", sqlFiles+"/henna.sql" }; // String[] cmd = {MYSQL_PATH , "-h" , DATABASE_HOST , "-u" ,DATABASE_LOGIN ,"-D", DATABASE_DB , "< "+ sqlFiles+"/henna.sql" }; // Et tout en dur... Qui fonctionne dans une fenêtre Dos String[] cmd = {"\"C:/Program Files/wamp/mysql/bin/mysql\" -h localhost -u root --password=xxx -D maBase < H:/workEclipse/project/sql/test.sql"}; process = runtime.exec(args, null, null);
Cette commande fonctionne par contre :
Mais j'aimerais loader un fichier, donc ca ne me suffit pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part String[] cmd = {MYSQL_PATH , "-h" , DATABASE_HOST , "-u" ,DATABASE_LOGIN ,"--password="+DATABASE_PASSWORD ,"-D", DATABASE_DB , "-e","DROP TABLE test" };
Ce serait sans doute le "<" qui n'est pas apprécié ? Quelqu'un a t'il une idée ?
Partager