public static void ServerAdd(SqlBaseItemXml basemodel, SqlServerItemXml item) { var templist = DBConfig.listserverxmlconfig[basemodel.Number]; templist.SqlServerList.Add(item); DBConfig.listserverxmlconfig[basemodel.Number] = templist; }
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); }
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); }
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); }
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); }
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); }
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()); }
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); }
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); }
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); }
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))); }
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)); }
public static string GetConnStr(SqlBaseItemXml basemodel, SqlServerItemXml item, SqlDatabaseItemXml item2) { return(string.Format(basemodel.TemplateSqlConnDatabase, item.ServerName, item2.DatabaseName, item.ServerUserName, item.ServerUserPwd)); }
public static string GetConnStr(SqlBaseItemXml basemodel, SqlServerItemXml servermodel) { return(string.Format(basemodel.TemplateSqlConnServer, servermodel.ServerName, servermodel.ServerUserName, servermodel.ServerUserPwd)); }