日期:2014-05-20  浏览次数:20623 次

用java还原mysql数据库。

String   writeMsg=   "mysql   -hlocalhost   -uroot   -proot   dbname   "+   " < "+ "   c:\\db.sql ";

第一中方式:p   =   run.exec(writeMsg)
第二种方式;   p=run.exec( "rundll32   SHELL32.DLL,ShellExec_RunDLL   "+writeMsg);  

InputStream   is   =   p.getInputStream();

两种方式都能执行通过,但是就是没还原数据库。输出流也写到文本里看了,都是mysql命令的帮助。不知道为什么。请高手回答一下。

我要实现的是   用java备份数据库,思路就是用run调用命令。网上看了很多,基本都是用这种方式,不知各位还有其它好的成熟的方法吗。


------解决方案--------------------
String[] cmd = { "cmd.exe " , "/c " , " ", "sd.bat "}
p = run.exec(cmd);

用这个试试,sb.bat是你要执行的命令的保存临时文件。