Example #1
0
        public static void ServerAdd(SqlBaseItemXml basemodel, SqlServerItemXml item)
        {
            var templist = DBConfig.listserverxmlconfig[basemodel.Number];

            templist.SqlServerList.Add(item);
            DBConfig.listserverxmlconfig[basemodel.Number] = templist;
        }
Example #2
0
        public bool GetTable(SqlBaseItemXml basemodel, SqlServerItemXml item, SqlDatabaseItemXml item2)
        {
            var tablelist  = DBConfig.GetTableItemXmlConfigList(basemodel, item2.Number);
            var tablelist2 = tablelist.Where(m => m.IsUse == true && m.IsWrite == true).ToList();

            foreach (var tableobjectitem2 in tablelist2)
            {
                var temp3      = DBProxy.GetDBAccess(item.DBType).TableStorageSize(currentconnstrdatabase, tableobjectitem2.TableName);
                var temp3count = DBProxy.GetDBAccess(item.DBType).TableCount(currentconnstrdatabase, tableobjectitem2.TableName);
                if (tableobjectitem2.StorageSize > temp3 && tableobjectitem2.RowNum > temp3count)
                {
                    currenttable       = tableobjectitem2.TableName;
                    currenttablenumber = tableobjectitem2.Number;
                    isposition         = true;
                    return(isposition);
                }
                else
                {
                    new ManagerConfig().TableChangeIsWrite(tableobjectitem2);
                }
            }
            if (item2.TableNum > tablelist.Count() && item2.IsCreate)
            {
                var temptable = DBWrite.AddTable(currentconnstrdatabase, item, item2);
                currenttable       = temptable.TableName;
                currenttablenumber = temptable.Number;
                isposition         = true;
                return(isposition);
            }
            return(isposition);
        }
Example #3
0
        public void ServerChangeIsUse(SqlServerItemXml item, bool isuse = false)
        {
            var basemodel = DBConfig.GetBaseXmlConfig(item.BaseNumber);

            DBConfig.ServerRemove(basemodel, item);
            item.IsUse = isuse;
            DBConfig.ServerAdd(basemodel, item);
        }
Example #4
0
        public static bool Update(SqlBaseItemXml basemodel, long rowid, SqlServerItemXml servermodel, SqlDatabaseItemXml databasemodel, SqlTableItemXml tablemodel, Dictionary <string, object> updatefieldlist)
        {
            bool   revalue = false;
            string connstr = GetConnStr(basemodel, servermodel);
            string sqlstr  = string.Format("update {0}.dbo.{1} set {4} where {2}={3}", databasemodel.DatabaseName, tablemodel.TableName, basemodel.PrimarykeyName, rowid, GetSqlUpdate(basemodel, updatefieldlist));

            long temp = CommonHelper.ToLong(DBProxy.GetDBHelper(servermodel.DBType).ExecuteSql(connstr, sqlstr));

            if (temp > 0)
            {
                revalue = true;
            }
            return(revalue);
        }
Example #5
0
        public static bool Delete(SqlBaseItemXml basemodel, long rowid, SqlServerItemXml servermodel, SqlDatabaseItemXml databasemodel, SqlTableItemXml tablemodel, SqlFieldItemXml fieldmodel)
        {
            bool   revalue = false;
            string connstr = GetConnStr(basemodel, servermodel);
            string sqlstr  = string.Format("delete from {0}.dbo.{1} where {2}={3}", databasemodel.DatabaseName, tablemodel.TableName, basemodel.PrimarykeyName, rowid);

            long temp = CommonHelper.ToLong(DBProxy.GetDBHelper(servermodel.DBType).ExecuteSql(connstr, sqlstr));

            if (temp > 0)
            {
                revalue = true;
            }
            return(revalue);
        }
Example #6
0
        public static SqlTableItemXml AddTable(string currentconnstr, SqlServerItemXml item, SqlDatabaseItemXml item2)
        {
            var             basemodel      = DBConfig.GetBaseXmlConfig(item.BaseNumber);
            SqlTableItemXml tabletempmodel = new SqlTableItemXml();

            tabletempmodel.BaseNumber     = item.BaseNumber;
            tabletempmodel.ServerNumber   = item.Number;
            tabletempmodel.DataBaseNumber = item2.Number;
            tabletempmodel.Number         = DBConfig.GetTableNumber;
            tabletempmodel.TableName      = basemodel.TablePrev + tabletempmodel.Number;
            tabletempmodel.IsWrite        = true;
            tabletempmodel.IsUse          = true;
            tabletempmodel.RowNum         = basemodel.DefaultTableRowNum;
            tabletempmodel.StorageSize    = (item2.StorageSize - item2.StorageSize / 5) / item2.TableNum;
            DBConfig.TableAdd(basemodel, tabletempmodel);
            DBProxy.GetDBHelper(item.DBType).ExecuteSql(currentconnstr, DBConfig.GetTableSql(basemodel, tabletempmodel.TableName));
            return(tabletempmodel);
        }
Example #7
0
        public static string GetSqlWhere(SqlServerItemXml servermodel, ConditionFieldModel conditionfield)
        {
            StringBuilder sqlwhere = new StringBuilder();

            if (conditionfield != null)
            {
                int i = 0;
                foreach (var item in conditionfield.List)
                {
                    if (i++ > 0)
                    {
                        sqlwhere.Append(" and ");
                    }
                    sqlwhere.AppendFormat(" {0} between {1} and  {2} ", item.FieldName, item.ValueMin, item.ValueMax);
                }
            }
            return(sqlwhere.ToString());
        }
Example #8
0
        public static SqlDatabaseItemXml AddDatabase(string currentconnstrserver, SqlServerItemXml item)
        {
            var basemodel = DBConfig.GetBaseXmlConfig(item.BaseNumber);
            SqlDatabaseItemXml databasetempmodel = new SqlDatabaseItemXml();

            databasetempmodel.BaseNumber       = item.BaseNumber;
            databasetempmodel.ServerNumber     = item.Number;
            databasetempmodel.Number           = DBConfig.GetDatabaseNumber;
            databasetempmodel.DatabaseName     = basemodel.DatabasePrev + databasetempmodel.Number;
            databasetempmodel.StorageSize      = ((item.StorageSize - item.StorageSize / 5) - item.RetainStorageSize) / 10;
            databasetempmodel.TableNum         = basemodel.DefaultTableNum;
            databasetempmodel.IsWrite          = true;
            databasetempmodel.IsUse            = true;
            databasetempmodel.IsCreate         = true;
            databasetempmodel.StorageDirectory = item.StorageDirectory;
            DBConfig.DatabaseAdd(basemodel, databasetempmodel);

            DBProxy.GetDBAccess(item.DBType).DatabaseCreate(currentconnstrserver, databasetempmodel.DatabaseName, databasetempmodel.StorageDirectory);
            return(databasetempmodel);
        }
Example #9
0
 public static void AddBulkRow(SqlBaseItemXml basemodel, SqlServerItemXml servermodel, string connstr, DataTable bulkdata, long databasenumber, long tablenumber, List <string> fieldtotal)
 {
     if (fieldtotal != null && fieldtotal.Count > 0)
     {
         var fieldlist = DBConfig.GetFieldXmlConfig(basemodel);
         foreach (var fieldname in fieldtotal)
         {
             string currentfieldname = fieldname;
             long   rowmin           = CommonHelper.ToLong(bulkdata.Compute("min(" + currentfieldname + ")", ""));
             long   rowmax           = CommonHelper.ToLong(bulkdata.Compute("max(" + currentfieldname + ")", ""));
             var    fileldobjecttemp = fieldlist.SqlFieldList.Where(m => m.FieldName == currentfieldname && m.TableNumber == tablenumber).FirstOrDefault();
             if (fileldobjecttemp != null)
             {
                 DBConfig.FieldRemove(basemodel, fileldobjecttemp);
                 if (fileldobjecttemp.ValueMin > rowmin)
                 {
                     fileldobjecttemp.ValueMin = rowmin;
                 }
                 if (fileldobjecttemp.ValueMax < rowmax)
                 {
                     fileldobjecttemp.ValueMax = rowmax;
                 }
                 DBConfig.FieldAdd(basemodel, fileldobjecttemp);
             }
             else
             {
                 SqlFieldItemXml fileldmodel = new SqlFieldItemXml();
                 fileldmodel.BaseNumber     = servermodel.BaseNumber;
                 fileldmodel.ServerNumber   = servermodel.Number;
                 fileldmodel.DatabaseNumber = databasenumber;
                 fileldmodel.TableNumber    = tablenumber;
                 fileldmodel.Number         = DBConfig.GetFieldNumber;
                 fileldmodel.FieldName      = currentfieldname;
                 fileldmodel.ValueMin       = rowmin;
                 fileldmodel.ValueMax       = rowmax;
                 DBConfig.FieldAdd(basemodel, fileldmodel);
             }
         }
     }
     DBProxy.GetDBHelper(servermodel.DBType).WriteBlockDataToDB(connstr, bulkdata);
 }
Example #10
0
        public bool GetDatabase(SqlBaseItemXml basemodel, SqlServerItemXml item)
        {
            var databaselist  = DBConfig.GetDatabaseItemXmlConfigList(basemodel, item.Number);
            var databaselist2 = databaselist.Where(m => m.IsUse == true && m.IsWrite == true).ToList();

            foreach (var item2 in databaselist2)
            {
                currentdatabase        = item2.DatabaseName;
                currentdatabasenumber  = item2.Number;
                currentconnstrdatabase = DBProxyAction.GetConnStr(basemodel, item, item2);
                var temp2      = DBProxy.GetDBAccess(item.DBType).DatabaseStorageSize(currentconnstrdatabase, item2.DatabaseName);
                var temp2count = DBConfig.GetTableXmlConfig(basemodel).SqlTableList.Where(m => m.DataBaseNumber == item2.Number).Count();
                if (item2.StorageSize > temp2 && item2.TableNum >= temp2count && GetTable(basemodel, item, item2))
                {
                    return(isposition);
                }
                else
                {
                    new ManagerConfig().DatabaseChangeIsWrite(item2);
                }
            }
            if (item.DatabaseNum > databaselist.Count() && item.IsCreate)
            {
                var tempdata = DBWrite.AddDatabase(currentconnstrserver, item);
                currentdatabase        = tempdata.DatabaseName;
                currentdatabasenumber  = tempdata.Number;
                currentconnstrdatabase = DBProxyAction.GetConnStr(basemodel, item, tempdata);
                var temptable = DBWrite.AddTable(currentconnstrdatabase, item, tempdata);
                currenttable       = temptable.TableName;
                currenttablenumber = temptable.Number;
                isposition         = true;
                return(isposition);
            }
            else
            {
                new ManagerConfig().ServerChangeIsWrite(item);
            }

            return(isposition);
        }
Example #11
0
 public static string GetSqlCount(SqlServerItemXml servermodel, MatchServerList item, ConditionFieldModel conditionfield)
 {
     return(string.Format(@"select COUNT(0) from {0}.dbo.{1} where {2}", item.DatabaseNumber, item.TableNumber, GetSqlWhere(servermodel, conditionfield)));
 }
Example #12
0
 public static string GetSqlList(SqlServerItemXml servermodel, MatchServerList item, ConditionFieldModel conditionfield, long getmaxnum = 500)
 {
     return(string.Format(@"select top {3} * from {0}.dbo.{1} where {2} ", item.DatabaseNumber, item.TableNumber, GetSqlWhere(servermodel, conditionfield), getmaxnum));
 }
Example #13
0
 public static string GetConnStr(SqlBaseItemXml basemodel, SqlServerItemXml item, SqlDatabaseItemXml item2)
 {
     return(string.Format(basemodel.TemplateSqlConnDatabase, item.ServerName, item2.DatabaseName, item.ServerUserName, item.ServerUserPwd));
 }
Example #14
0
 public static string GetConnStr(SqlBaseItemXml basemodel, SqlServerItemXml servermodel)
 {
     return(string.Format(basemodel.TemplateSqlConnServer, servermodel.ServerName, servermodel.ServerUserName, servermodel.ServerUserPwd));
 }