Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java的SQL导入_Java_Mysql_Export - Fatal编程技术网

使用Java的SQL导入

使用Java的SQL导入,java,mysql,export,Java,Mysql,Export,我曾尝试在java项目中导出和导入数据库,但execute命令不起作用。下面是我完成的代码 public boolean exportDatabase(String fromServer, String FileName, String FilePath, int ExportOpions) { try { Class.forName(Driver).newInstance(); } catch (fina

我曾尝试在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”
预先添加到您的\u命令\u to \u be \u run中

使其成为:

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

如果您正在运行命令,则需要将
“cmd”
前置到您的命令\u to \u be \u run

使其成为:

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
您可以这样尝试:

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 = ""
您可以这样尝试:

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+”>“+文件名

试试这个

字符串executeCmd=“FilePath+”mysqldump-u”+dbUser+“-p”+dbPass+” “+dbName+”>“+文件名


第一组系统变量

C:\ProgramFiles\MySQL\MySQL Server 5.1\bin

然后


String executeCmd=mysqldump-u“+dbUser+”-p“+dbPass+”+dbName+“>”+FileName;

第一组系统变量

C:\ProgramFiles\MySQL\MySQL服务器5.1\bin;

然后


String executeCmd=mysqldump-u“+dbUser+”-p“+dbPass+”“+dbName+”>“+FileName

@gapchoo这个地址?你能更清楚你想做什么吗?@gapchoo这个地址?你能更清楚地知道你想做什么吗?哈坎佩克坎:永远不要有一个没有任何异常处理的“全面捕获”异常处理程序。这是非常糟糕的风格,会(而且会)引起很大的混乱!hakanpekcan:如果没有任何异常处理,就永远不会有“全面捕获”异常处理程序。这是非常糟糕的风格,会(而且会)引起很大的混乱!我将对此进行修改。mysqldump用于导出,对吗?mysqldump用于导出,对吗?