All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET2.0中Tabs的简单实现_[Asp.Net教程]
用PHP打造超酷的数据饼图_[PHP教程]
PHP开发中常用的一些函数_[PHP教程]
在ASP.NET中防止注入攻击_[Asp.Net教程]
数据库的备份与还原_[SQL,Server教程]
ASP.NET页面刷新的几种方法_[Asp.Net教程]
ADO.NET起步_[Asp.Net教程]
多种方法实现超长字符用-.....-代替_[Asp.Net教程]
php之str_replace_php资料_编程技术
ASP.NET生成饼图功能实例代码_[Asp.Net教程]
Reading number is top 10 pictures
各种囧况!玩游戏最不喜欢出现的十件事(点评)
A man's favorite things2
Absolutely shocked. National geographic 50 animal photographys5
A man's favorite things12
这酸爽,让人不敢相信
Li Zongrui hunting video screenshots2
徐若瑄展示美丽胸围3
怀春少女-石一伊
Sora aoi be huged like a bear
超强高考作文
Download software ranking
打鸟视频
Unix video tutorial5
Boxer's Top ten classic battle3
Boxer vs Yellow2
JSP+Ajax Web development typical examples
Sora aoi 120 minutes
双旗镇刀客A
matrix1
c#程序设计案例教程
WebService在.NET中的实战应用教学视频 → 第1集
delv published in(发表于) 2014/1/27 6:47:22 Edit(编辑)
Asp.net,备份和还原SQL,Server及压缩Access数据库_[Asp.Net教程]

Asp.net,备份和还原SQL,Server及压缩Access数据库_[Asp.Net教程]

Asp.net 备份和还原SQL Server及压缩Access数据库_[Asp.Net教程]

/############################################
版权声明:
文章内容为本站编辑,创作.你可以任意转载、发布、使用但请务必以明文标注文章原始出处及本声明
############################################/


/**********************************************************************************
*
* 功能说明:备份和恢复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
{
///


/// 数据库恢复和备份
///

public class SqlBackObject
{
public SqlBackObject()
{
//
// TOD 在此处添加构造函数逻辑
//
}


#region SQL数据库备份
///


/// SQL数据库备份
///

/// SQL服务器IP或(Localhost)
/// 数据库登录名
/// 数据库登录密码
/// 数据库名
/// 备份到的路径
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恢复数据库
///


/// SQL恢复数据库
///

/// SQL服务器IP或(Localhost)
/// 数据库登录名
/// 数据库登录密码
/// 要还原的数据库名
/// 数据库备份的路径


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数据库
///


/// 根据指定的文件名称创建数据
///

/// 绝对路径+文件名称
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数据库
///


/// 压缩Access数据库
///

/// 数据库绝对路径
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数据库
///


/// 备份Access数据库
///

/// 要备份的数据库绝对路径
/// 备份到的数据库绝对路径
///
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数据库
///


/// 还原Access数据库
///

/// 备份的数据库绝对路径
/// 要还原的数据库绝对路径
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
}
}


设计家园 收集







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.