您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> asp.net编程 >> 正文

asp.net 备份和恢复数据库的方法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了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