Example #1
0
        public static long GetAllCount2(SqlBaseItemXml basemodel, ref long sqlnum)
        {
            sqlnum = 0;
            long rownum = 0;
            List <TaskDataParam> taskdataparam = new List <TaskDataParam>();
            var serverlist = DBConfig.GetServerItemXmlConfigList(basemodel);

            foreach (var item in serverlist)
            {
                StringBuilder sqlstr       = new System.Text.StringBuilder();
                var           databaselist = DBConfig.GetDatabaseItemXmlConfigList(basemodel, item.Number);
                foreach (var item2 in databaselist)
                {
                    if (sqlstr.Length > 0)
                    {
                        sqlstr.Append(" union all ");
                    }
                    sqlstr.AppendFormat(" select  sum(b.rows) as 记录条数 from {0}.sys.sysobjects a,{0}.sys.sysindexes b where a.id=b.id and a.xtype='u' and b.indid=1 ", item2.DatabaseName);
                }
                if (sqlstr.Length > 0)
                {
                    TaskDataParam tempparam = new TaskDataParam();
                    tempparam.servername = item.ServerName;
                    tempparam.dbtype     = item.DBType;
                    tempparam.connstr    = GetConnStr(basemodel, item);
                    tempparam.sqlstr     = string.Format("select SUM([记录条数]) from ({0})t1", sqlstr.ToString());
                    taskdataparam.Add(tempparam);
                }
                sqlstr.Clear();
            }
            DBTask servicetask = new DBTask();

            rownum = servicetask.SyncTaskManagerSum(taskdataparam, 100, false);
            sqlnum = servicetask.runnumcurrent;
            return(rownum);
        }