萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp.net編程 >> asp.net 備份和恢復數據庫的方法

asp.net 備份和恢復數據庫的方法

 這篇文章主要介紹了asp.net 備份和恢復數據庫的方法示例,需要的朋友可以參考下

   代碼如下: /**********************************************************************************    *  * 功能說明:備份和恢復SQL Server數據庫  * 作者: 劉功勳;  * 版本:V0.1(C#2.0);時間:2007-1-1  * 當使用SQL Server時,請引用 COM組件中的,SQLDMO.dll組件  * 當使用Access中,請浏覽添加引用以下兩個dll  *          引用C:Program FilesCommon FilesSystemadomsadox.dll,該DLL包含ADOX命名空間  *          引用C:Program FilesCommon FilesSystemadomsjro.dll,該DLL包含JRO命名空間  * *******************************************************************************/ using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; using ADOX;//該命名空間包含創建ACCESS的類(方法)--解決方案 ==> 引用 ==> 添加引用 ==> 游覽找到.dll using JRO;//該命名空間包含壓縮ACCESS的類(方法)   namespace EC {     /// <summary>     /// 數據庫恢復和備份     /// </summary>     public class SqlBackObject     {         public SqlBackObject()         {             //             // TODO: 在此處添加構造函數邏輯             //         }           #region SQL數據庫備份        /// <summary>         /// SQL數據庫備份        /// </summary>        /// <param name="ServerIP">SQL服務器IP或(Localhost)</param>        /// <param name="LoginName">數據庫登錄名</param>        /// <param name="LoginPass">數據庫登錄密碼</param>        /// <param name="DBName">數據庫名</param>        /// <param name="BackPath">備份到的路徑</param>         public static void SQLBACK(string ServerIP,string LoginName,string LoginPass,string DBName,string BackPath)         {             SQLDMO.Backup oBackup = new SQLDMO.BackupClass();             SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();             try             {                 oSQLServer.LoginSecure = false;                 oSQLServer.Connect(ServerIP, LoginName, LoginPass);                 oBackup.Database = DBName;                 oBackup.Files = BackPath;                 oBackup.BackupSetName = DBName;                 oBackup.BackupSetDescription = "數據庫備份";                 oBackup.Initialize = true;                 oBackup.SQLBackup(oSQLServer);               }             catch (Exception e)             {                 throw new Exception(e.ToString());             }             finally             {                 oSQLServer.DisConnect();             }         }         #endregion           #region SQL恢復數據庫         /// <summary>         /// SQL恢復數據庫         /// </summary>         /// <param name="ServerIP">SQL服務器IP或(Localhost)</param>         /// <param name="LoginName">數據庫登錄名</param>         /// <param name="LoginPass">數據庫登錄密碼</param>         /// <param name="DBName">要還原的數據庫名</param>         /// <param name="BackPath">數據庫備份的路徑</param>           public static void SQLDbRestore(string ServerIP,string LoginName,string LoginPass,string DBName,string BackPath)         {               SQLDMO.Restore orestore = new SQLDMO.RestoreClass();             SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();             try             {                 oSQLServer.LoginSecure = false;                 oSQLServer.Connect(ServerIP, LoginName, LoginPass);                 orestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;                 orestore.Database = DBName;                 orestore.Files = BackPath;                 orestore.FileNumber = 1;                 orestore.ReplaceDatabase = true;                 orestore.SQLRestore(oSQLServer);               }             catch (Exception e)             {                 throw new Exception(e.ToString());             }             finally             {                 oSQLServer.DisConnect();             }         }             #endregion           #region 根據指定的文件名稱創建Access數據庫         /// <summary>         /// 根據指定的文件名稱創建數據         /// </summary>         /// <param name="DBPath">絕對路徑+文件名稱</param>         public static void CreateAccess(string DBPath)         {             if (File.Exists(DBPath))//檢查數據庫是否已存在             {                 throw new Exception("目標數據庫已存在,無法創建");             }                       DBPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+DBPath;             //創建一個CatalogClass對象實例             ADOX.CatalogClass cat = new ADOX.CatalogClass();             //使用CatalogClass對象的Create方法創建ACCESS數據庫             cat.Create(DBPath);           }         #endregion &nb
copyright © 萬盛學電腦網 all rights reserved