4

我已经完成了这个备份我的数据库的工作,它工作正常......

    private void backupDatabase()
    {

        txtbackup.AppendText("Starting Backup...");    
        Process sd = null;
        const  string backupcmd = @"C:\wamp\www\access\mysqldump.exe";
        string filepath = @"C:\folder\Access\";
        string dbHost = "local";
        string dbuser = "root";
        string dbName = "access";
        string backupName = "Backup.sql";
        ProcessStartInfo r1 = new ProcessStartInfo(backupcmd, string.Format("-h {0} -u {1} {2} -r {3}", dbHost, dbuser, dbName, backupName));


        r1.CreateNoWindow = true;
        r1.WorkingDirectory = filepath;
        r1.UseShellExecute = false;
        r1.WindowStyle = ProcessWindowStyle.Minimized;
        r1.RedirectStandardInput = false;

        sd = Process.Start(r1);
         sd.WaitForExit();

        if (!sd.HasExited)
        {
             sd.Close();
        }
        sd.Dispose();
        r1 = null;
        sd = null;
        txtbackup.Clear();
        txtbackup.AppendText("Backup is Finished");

    } 

它工作正常......但我想将backup.sql作为zip文件存储在这个路径中

@"C:\folder\Access\";

我有这个库 Ionic.Zip.Reduced 但我不知道如何压缩文件并存储在给定的路径中......

4

2 回答 2

3

该库使用起来非常简单:

using (var zip = new ZipFile())
{
    zip.AddFile("Backup.sql");

    zip.Save(@"C:\folder\Access\"Backup.zip");
}

甚至他们的主页也包含足以供您使用的示例。

于 2011-10-10T12:09:40.823 回答
-1

你应该使用这个压缩库或者这个可能是一个选项?

于 2011-10-10T11:32:35.523 回答