概述
去除掉不需要备份的表。将剩下的表进行备份到一个文件中
代码
/// <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、将需要备份的表备份到文件中