0

データベースのバックアップまたは復元を実行しようとすると、正しく機能していません。私が指定したパスには「SPACE」が含まれているため

バックアップ/復元ファイルのパス: " C:\Documents and Settings\prabhu\Desktop\Backup.sql "
( Documents and Settingsには 'SPACE' が含まれます)

私はC#で働いています。

コード:

string directoryName = D:\\Shop Plan\\ERP Project\\Main Source\\OutPut\\Debug\\DBBackup;

string filePath = "C:\Documents and Settings\prabhu\Desktop\Backup.sql";

TextWriter textWriter = new StreamWriter(filePath);

textWriter.WriteLine("CD " + directoryName);

if (type == "Backup")
{
  textWriter.WriteLine("mysqldump -h " + "SERVERNAME"+ " -u " + "USERNAME" + " -p" + "PASSWORD" + " -P " + "PORT" + " --routines " + "DATABASE_NAME" + " -B> " + filePath);
}

else if (type == "Restore")
{
  textWriter.WriteLine("mysql -h " + "SERVERNAME" + " -u " + "USERNAME" + " -p" + "PASSWORD" +" -P " + "PORT" + " <" + filePath);
}

textWriter.Close();

Process processes = new Process();

processes.StartInfo.WorkingDirectory = directoryName ;

processes.StartInfo.FileName = "Backup.BAT";

processes.StartInfo.CreateNoWindow = true;

processes.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

processes.Start();

processes.WaitForExit();
4

3 に答える 3

0
@"C:\Documents and Settings\prabhu\Desktop\Backup.sql"
于 2012-11-20T08:38:40.403 に答える
0

スペースだと思いますか?構文@ http://www.dotnetperls.com/pathが必要かもしれません

于 2012-11-20T08:39:35.667 に答える
0

行:

string directoryName = D:\\Shop Plan\\ERP Project\\Main Source\\OutPut\\Debug\\DBBackup;

string filePath = "C:\Documents and Settings\prabhu\Desktop\Backup.sql";

への変更:

string directoryName = "\"" + @"D:\Shop Plan\ERP Project\Main Source\OutPut\Debug\DBBackup" + "\"";

string filePath = "\"" + @"C:\Documents and Settings\prabhu\Desktop\Backup.sql" + "\"";
于 2012-11-20T09:00:24.353 に答える