2013-09-25 295 views
1

您好我有一個JAVA項目,我想在其中顯示MySQL數據庫。 我寫這樣的代碼:從java運行mysql命令

try { 
    String []command={"mysql -u root -pmanager","show databases"}; 
     Process p= Runtime.getRuntime().exec("mysql -u root -pmanager"); 
     Process p1= Runtime.getRuntime().exec("show databases"); 
     if (p.waitFor()==0){System.out.println("backup done...");} 
     else{System.out.println("!!!");} 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

,但它給我這個錯誤:

Cannot run program "show": CreateProcess error=2, The system cannot find the file specified 

什麼,應該怎麼辦? 感謝...

+2

你沒有在'mysql'中執行'show',你正在執行它作爲一個新的命令行命令。 –

+0

我該怎麼做? – ooo

+0

我不確定,但嘗試從mysql進程中獲取outpustream並寫入該文件。 –

回答

4

Runtime.getRuntime().exec( new String [] {"mysql", "-u", "root", "-pmanager", "-e", "show databases"})

0

你需要指定什麼是 'MySQL的' 命令提示符... 例子 - C:\ Program Files文件\的MySQL \ MySQL服務器5.7 \ BIN \ mysql的