• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > asp.net 数据库备份还原(sqlserver+access)

asp.net 数据库备份还原(sqlserver+access)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了数据库连接 asp.net,数据库asp.net,asp.net,asp net培训,asp和asp.net的区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
/**********************************************************************************
*
* 功能说明:备份和恢复SQL Server数据库
* 作者: 刘功勋;
* 版本:V0.1(C#2.0);时间:2007-1-1
* 当使用SQL Server时,请引用 COM组件中的,SQLDMO.dll组件
* 当使用Access中,请浏览添加引用以下两个dll
* 引用C:\Program Files\Common Files\System\ado\msadox.dll,该DLL包含ADOX命名空间
* 引用C:\Program Files\Common Files\System\ado\msjro.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
#region 压缩Access数据库
/// <summary>
/// 压缩Access数据库
/// </summary>
/// <param name="DBPath">数据库绝对路径</param>
public static void CompactAccess(string DBPath)
{
if (!File.Exists(DBPath))
{
throw new Exception("目标数据库不存在,无法压缩");
}
//声明临时数据库名称
string temp = DateTime.Now.Year.ToString();
temp += DateTime.Now.Month.ToString();
temp += DateTime.Now.Day.ToString();
temp += DateTime.Now.Hour.ToString();
temp += DateTime.Now.Minute.ToString();
temp += DateTime.Now.Second.ToString() + ".bak";
temp = DBPath.Substring(0, DBPath.LastIndexOf("\\") + 1) + temp;
//定义临时数据库的连接字符串
string temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+temp;
//定义目标数据库的连接字符串
string DBPath2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+DBPath;
//创建一个JetEngineClass对象的实例
JRO.JetEngineClass jt = new JRO.JetEngineClass();
//使用JetEngineClass对象的CompactDatabase方法压缩修复数据库
jt.CompactDatabase(DBPath2, temp2);
//拷贝临时数据库到目标数据库(覆盖)
File.Copy(temp, DBPath, true);
//最后删除临时数据库
File.Delete(temp);
}
#endregion
#region 备份Access数据库
/// <summary>
/// 备份Access数据库
/// </summary>
/// <param name="srcPath">要备份的数据库绝对路径</param>
/// <param name="aimPath">备份到的数据库绝对路径</param>
/// <returns></returns>
public static void Backup(string srcPath,string aimPath)
{
if (!File.Exists(srcPath))
{
throw new Exception("源数据库不存在,无法备份");
}
try
{
File.Copy(srcPath,aimPath,true);
}
catch(IOException ixp)
{
throw new Exception(ixp.ToString());
}
}
#endregion
#region 还原Access数据库
/// <summary>
/// 还原Access数据库
/// </summary>
/// <param name="bakPath">备份的数据库绝对路径</param>
/// <param name="dbPath">要还原的数据库绝对路径</param>
public static void RecoverAccess(string bakPath,string dbPath)
{
if (!File.Exists(bakPath))
{
throw new Exception("备份数据库不存在,无法还原");
}
try
{
File.Copy(bakPath, dbPath, true);
}
catch (IOException ixp)
{
throw new Exception(ixp.ToString());
}
}
#endregion
}
}
</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET数据库操作类实例
  • ASP.NET保存PDF、Word和Excel文件到数据库
  • ASP.NET数据库存取图片的方法
  • ASP.NET中各种连接数据库的配置的方法及json数据转换
  • ASP.net与SQLite数据库通过js和ashx交互(连接和操作)
  • asp.net 获取数据库连接字符串
  • 在ASP.NET 2.0中操作数据之七十:配置数据库连接和命令等级设置
  • 在ASP.NET 2.0中操作数据之六十一:在事务里对数据库修改进行封装
  • asp.net实现Gradview绑定数据库数据并导出Excel的方法
  • ASP.NET连接数据库并获取数据方法总结

相关文章

  • 2017-05-11vs.net 2010 扩展插件小结 提高编程效率
  • 2018-08-20.NET C#支付宝条码支付接口详解
  • 2018-08-20asp.net core MVC 过滤器之ActionFilter过滤器(2)
  • 2017-05-11.net生成验证码
  • 2017-05-11asp.net DropDownList实现二级联动效果
  • 2017-05-11ASP.NET生成图形验证码的方法详解
  • 2017-05-11ASP.NET 小技巧(2个)
  • 2017-05-11在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程
  • 2017-05-11解决 The Controls collection cannot be modified because the control contains code blocks
  • 2017-05-11ASP.NET Web应用程序的安全解决方案浅析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ASP.NET MVC 微信JS-SDK认证
    • ASP.NET数据库编程之处理文件访问许可
    • IIS部署asp.net mvc网站的方法
    • .net jMail邮件发送(含抄送、密送、多发、日志记录)实例代码
    • asp.net 使用事务
    • vs2010根据字符串内容添加断点的方法介绍
    • asp.net列出某文件夹下的所有文档,包括子目录下的档案
    • ASP.NET中使用开源组件NPOI快速导入导出Execl数据
    • Convert.ToInt32与Int32.Parse区别及Int32.TryParse
    • .Net中的序列化和反序列化详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有