2011-10-10 101 views
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到壓縮文件在這條道路

@"C:\folder\Access\"; 

一個zip文件,我有這個庫Ionic.Zip.Reduced,但我不知道如何來壓縮文件,並存儲在指定的路徑....

回答

3

該庫是非常簡單的使用方法:

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

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

即使their homepage包含樣品供您使用不夠好。

+0

如何爲兩個需要單獨ZIP的文件執行此操作? – user001

-1

您應該使用這個壓縮lib拉里或this一個可能是一個選項?

+0

你說什麼圖書館? –

+0

是的,很好的建議。讓我們滾動我們自己的.zip文件格式的實現。 – Eric

+0

鏈接中的庫¬¬ http://msdn.microsoft.com/en-us/library/ms404280.aspx – Rafael