去除数据库中不需要备份的表备份到指定文件夹下

689 689
XCode
sam
sam 2024-07-10 15:59:52

概述

去除掉不需要备份的表。将剩下的表进行备份到一个文件中

代码

        /// <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、将需要备份的表备份到文件中

回帖
  • 消灭零回复
作者信息
相关文章