Runtime.exec
không phải là một cái vỏ
, vì vậy chuyển hướng với> và > tới mysqldump
, được hiểu là tên của bảng bạn muốn xuất. (Do đó trả về mã 6, "bảng không hợp lệ".)
Có hai giải pháp:
-
Chạy một trình bao. Sử dụng lệnh này thay vì lệnh bạn có:
cmd.exe /c "mysqldump --user=root --password= --host=localhost dbname > c:\temp\dumpfile.sql"
-
Tự ghi kết quả đầu ra từ lệnh vào tệp, với
Process.getInputStream()
.