[英]SQL import using Java
我試圖在我的java項目中導出和導入數據庫。但是execute命令不起作用。 以下是我完成的代碼。
public boolean exportDatabase(String fromServer, String FileName, String FilePath, int ExportOpions)
{
try {
Class.forName(Driver).newInstance();
}
catch (final InstantiationException e) {
NLogger.writeDebugLog(e);
}
catch (final IllegalAccessException e) {
NLogger.writeDebugLog(e);
}
catch (final java.lang.ClassNotFoundException e) {
NLogger.writeDebugLog(e);
}
try {
String dbName ="DBsample";
String dbUser = "root";
String dbPass ="root";
String executeCmd ="CD "+FilePath+" mysqldump -u "+dbUser+ "-p"+dbPass+" "+dbName+ ">" +FileName;
Process runtimeProcess =Runtime.getRuntime().exec(executeCmd);
int processComplete = runtimeProcess.waitFor();
if(processComplete == 0){
System.out.println("Backup taken successfully");
}
else {
System.out.println("Could not take mysql backup");
}
return true;
}
catch (final Exception ex) {
NLogger.writeErrorLog("Database Connection Failed ", ex.toString());
NLogger.writeDebugLog(ex);
return false;
}
}
這顯示為錯誤
“無法運行程序“ CD”:CreateProcess錯誤= 2,系統找不到指定的文件”
我該如何解決這個問題?
如果正在運行命令,則需要在"cmd"
添加"cmd"
。
使其為:
String executeCmd ="cmd CD "+FilePath+" mysqldump -u "+dbUser+ "-p"+dbPass+" "+dbName+ ">" +FileName;
另外我也不知道要導出的命令,但是看來您的命令是錯誤的。 您應該直接指定目錄。 您在命令中使用cd
。 考慮以下示例:
C:\mydir1\mydir2\some.exe // this is correct
cmd cd C:\mydir1\mydir2 some.exe // this is wrong
首先設置系統變量,例如
C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin;
然后
String executeCmd = mysqldump -u "+dbUser+ "-p"+dbPass+" "+dbName+ ">" +FileName;
您可以這樣嘗試:
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection(DbConnectionAdress, DbName, DbSifre);
statement = conn.createStatement();
} catch (Exception e) {
throw new RuntimeException(e);
}
String DbConnectionAdress = " "
DbName = ""
DbSifre = ""
嘗試這個....
字符串executeCmd =“ FilePath +” mysqldump -u“ + dbUser +” -p“ + dbPass +”“ + dbName +”>“ + FileName;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.