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