概述
去除掉不需要备份的表。将剩下的表进行备份到一个文件中
代码
/// <summary>
/// 过滤到不需要备份的表
/// 这里主要是adf_logInfo这个表,这个表的是日志文件有几百万行,xcode默认是使用5000行一个批次备份
/// </summary>
static void Test2()
{
int ret = 0;
string fileName = @"c:\db\" + FromDbConnName + "" + DateTime.Now.Millisecond + ".zip";
//增加一个数据库连接
DAL.AddConnStr(FromDbConnName, FromDbConnStr, null, FromDbProvider);
var dal = DAL.Create(FromDbConnName);
//得到所有的表
var tables = dal.Tables;
//不备份的表的名单
String[] arrNotBackupTableName = new [] { "adf_loginfo"};
IList<IDataTable> lstBackup = new List<IDataTable>();
foreach (var table in tables) {
String tableName = table.TableName.ToLower();
if (!arrNotBackupTableName.Contains(tableName)) {
lstBackup.Add(table);
}
}
//对需要备份的进行备份
ret = dal.BackupAll(lstBackup, fileName);
Console.WriteLine("备份结果:" + ret);
}说明
1、先获取所有表
2、过滤掉不需要备份的表
3、将需要备份的表备份到文件中