[Runtime.exec] comprends pas
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 :
Code:
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); |
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.
Cette commande fonctionne par contre :
Code:
String[] cmd = {MYSQL_PATH , "-h" , DATABASE_HOST , "-u" ,DATABASE_LOGIN ,"--password="+DATABASE_PASSWORD ,"-D", DATABASE_DB , "-e","DROP TABLE test" };
Mais j'aimerais loader un fichier, donc ca ne me suffit pas.
Ce serait sans doute le "<" qui n'est pas apprécié ? Quelqu'un a t'il une idée ?