public void BuidConnections(MySQLConnectionString connStr, int maxCount) { MySQLConnection dbConn = null; for (int i = 0; i < maxCount; i++) { dbConn = new MySQLConnection(connStr.AsString); try { dbConn.Open(); } catch (Exception ex) { DataHelper.WriteFormatExceptionLog(ex, "BuidConnections", false, false); throw ex; } if (!string.IsNullOrEmpty(DBConnections.dbNames)) { MySQLCommand cmd = new MySQLCommand(string.Format("SET names '{0}'", DBConnections.dbNames), dbConn); cmd.ExecuteNonQuery(); } this.DBConns.Enqueue(dbConn); } this.SemaphoreClients = new Semaphore(maxCount, maxCount); }
public void LoadDatabase(MySQLConnectionString connstr, int MaxConns, int codePage) { TianMaCharSet.ConvertToCodePage = codePage; this._DBConns.BuidConnections(connstr, MaxConns); MySQLConnection conn = this._DBConns.PopDBConnection(); try { GameDBManager.BulletinMsgMgr.LoadBulletinMsgFromDB(this); GameDBManager.GameConfigMgr.LoadGameConfigFromDB(this); LiPinMaManager.LoadLiPinMaDB(this); PreNamesManager.LoadPremNamesFromDB(this); FuBenHistManager.LoadFuBenHist(this); PaiHangManager.ProcessPaiHang(this, true); GameDBManager.BangHuiJunQiMgr.LoadBangHuiJunQiItemFromDB(this); GameDBManager.PreDelRoleMgr.LoadPreDeleteRoleFromDB(this); GameDBManager.BangHuiLingDiMgr.LoadBangHuiLingDiItemsDictFromDB(this); HuangDiTeQuanMgr.LoadHuangDiTeQuan(this); GameDBManager.MarryPartyDataC.LoadPartyList(this); SingletonTemplate <NameUsedMgr> .Instance().LoadFromDatabase(this); GameDBManager.BangHuiListMgr.RefreshBangHuiListData(this); BanManager.GmBanCheckClear(this); FuMoMailManager.getInstance().LoadFuMoInfoFromDB(this); RebornStampManager.InitRebornYinJi(this); GlodAuctionMsgProcess.getInstance().LoadDataFromDB(this); BoCaiManager.getInstance().LoadDataFromDB(this); } finally { this._DBConns.PushDBConnection(conn); } this.CreateMemTables(); }
//获得数据库数据 private void GetUserData() { MySQLConnection DBConn = null; string connectStr = new MySQLConnectionString(Configuration.getDBIp(), "workflow", Configuration.getDBUsername(), Configuration.getDBPassword()).AsString; //System.Windows.Forms.MessageBox.Show(connectStr); DBConn = new MySQLConnection(connectStr); DBConn.Open(); MySQLCommand setformat = new MySQLCommand("set names gb2312", DBConn); setformat.ExecuteNonQuery(); setformat.Dispose(); string sql = "select User_Id,User_Name,User_Dept,User_Job,User_Mail,User_Cell from tb_user"; MySQLDataAdapter mda = new MySQLDataAdapter(sql, DBConn); DataTable ds = new DataTable(); mda.Fill(ds); DBConn.Close(); foreach (DataRow dr in ds.Rows) { UserModel um = new UserModel(); um.ID = dr["User_Id"].ToString(); um.Name = dr["User_Name"].ToString(); um.Department = dr["User_Dept"].ToString(); um.Email = dr["User_Mail"].ToString(); um.PersonPosition = dr["User_Job"].ToString(); um.Telephone = dr["User_Cell"].ToString(); models.Add(um); } view.Source = models; this.listView1.DataContext = view; }
public MyDbConnection1(string connStr, string dbNames) { bool success = false; MySQLConnection dbConn = null; try { Dictionary <string, string> mapParams = new Dictionary <string, string>(); string[] strParams = connStr.Split(';'); foreach (var param in strParams) { string[] map = param.Split('='); if (map.Length != 2) { continue; } map[0] = map[0].Trim(); map[1] = map[1].Trim(); mapParams[map[0]] = map[1]; } //Hashtable hashLog = (Hashtable)MUJson.jsonDecode("{" + connectionLogString + "}"); //Hashtable hashGame = (Hashtable)MUJson.jsonDecode("{" + connectionString + "}"); ConnStr = new MySQLConnectionString( mapParams["host"], mapParams["database"], mapParams["user id"], mapParams["password"] ); dbConn = new MySQLConnection(ConnStr.AsString); dbConn.Open(); //打开数据库连接 MySQLCommand cmd = null; //执行链接查询的字符集 if (!string.IsNullOrEmpty(dbNames)) { cmd = new MySQLCommand(string.Format("SET names '{0}'", dbNames), dbConn); cmd.ExecuteNonQuery(); } DatabaseName = DbConn.Database; success = true; DbConn = dbConn; } catch (Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); } if (!success && null != dbConn) { try { dbConn.Close(); } catch { } } }
//�ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡι��캯�� public UserManager(string name) : base(name, 560, 300) { MySQLConnection obSql; string linkStr = new MySQLConnectionString("localhost", "flox", "root", "00", 3306).AsString; linkStr += ";Character Set=GBK"; obSql = new MySQLConnection(linkStr); obSql.Open(); // ִ�в�ѯ��� MessageBox.Show(linkStr, "���ӳɹ�"); MySQLCommand obCommand = null; MySQLDataReader obReader = null; string str = ""; try { obCommand = new MySQLCommand("select username from cdb_members", obSql); obReader = obCommand.ExecuteReaderEx(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "ִ�д���"); } if (obReader != null) { try { str += obReader.FieldCount.ToString() + "\r\n"; while (obReader.Read()) { for (int i = 0; i < obReader.FieldCount; i++) { string inputStr = obReader.GetString(i); #region //note ///Encoding inputCode = Encoding.GetEncoding("GBK"); ///Encoding outCode = Encoding.Unicode; ///byte[] bta = inputCode.GetBytes(inputStr); ///byte[] bta2 = Encoding.Convert(inputCode, outCode, bta); ///string outStr = outCode.GetString(bta2); #endregion str += inputStr; } str += "\r\n"; } } finally { obReader.Close(); obCommand.Dispose(); obSql.Close(); } } MessageBox.Show(str, "�û��б�"); }
public static void LoadConnectStr() { //char[] filters = { ' ', '\r', '\n', '\t' }; //connectionString = connectionString.Trim(filters); //connectionLogString = connectionLogString.Trim(filters); Dictionary <string, string> mapParams = new Dictionary <string, string>(); string[] strParams = connectionLogString.Split(';'); foreach (var param in strParams) { string[] map = param.Split('='); if (map.Length != 2) { continue; } map[0] = map[0].Trim(); map[1] = map[1].Trim(); mapParams[map[0]] = map[1]; } //Hashtable hashLog = (Hashtable)MUJson.jsonDecode("{" + connectionLogString + "}"); //Hashtable hashGame = (Hashtable)MUJson.jsonDecode("{" + connectionString + "}"); MySQLConnectionString connStrLog = new MySQLConnectionString( mapParams["host"], mapParams["database"], mapParams["user id"], mapParams["password"] ); mapParams.Clear(); strParams = connectionString.Split(';'); foreach (var param in strParams) { string[] map = param.Split('='); if (map.Length != 2) { continue; } map[0] = map[0].Trim(); map[1] = map[1].Trim(); mapParams[map[0]] = map[1]; } MySQLConnectionString connStrGame = new MySQLConnectionString( mapParams["host"], mapParams["database"], mapParams["user id"], mapParams["password"] ); realConnStrGame = connStrGame.AsString; realConnStrLog = connStrLog.AsString; loadConnectStr = true; }
public void LoadDatabase(MySQLConnectionString connstr, int MaxConns, int codePage) { TianMaCharSet.ConvertToCodePage = codePage; this._DBConns.BuidConnections(connstr, MaxConns); MySQLConnection conn = this._DBConns.PopDBConnection(); try { } finally { this._DBConns.PushDBConnection(conn); } }
public static void LoadConnectStr() { Dictionary <string, string> mapParams = new Dictionary <string, string>(); string[] strParams = DbHelperMySQL2.connectionLogString.Split(new char[] { ';' }); foreach (string param in strParams) { string[] map = param.Split(new char[] { '=' }); if (map.Length == 2) { map[0] = map[0].Trim(); map[1] = map[1].Trim(); mapParams[map[0]] = map[1]; } } MySQLConnectionString connStrLog = new MySQLConnectionString(mapParams["host"], mapParams["database"], mapParams["user id"], mapParams["password"]); mapParams.Clear(); strParams = DbHelperMySQL2.connectionString.Split(new char[] { ';' }); foreach (string param in strParams) { string[] map = param.Split(new char[] { '=' }); if (map.Length == 2) { map[0] = map[0].Trim(); map[1] = map[1].Trim(); mapParams[map[0]] = map[1]; } } MySQLConnectionString connStrGame = new MySQLConnectionString(mapParams["host"], mapParams["database"], mapParams["user id"], mapParams["password"]); DbHelperMySQL2.realConnStrGame = connStrGame.AsString; DbHelperMySQL2.realConnStrLog = connStrLog.AsString; DbHelperMySQL2.loadConnectStr = true; }
/// <summary> /// 从数据库中加载数据缓存 /// </summary> /// <param name="connstr">数据库连接串对象</param> public void LoadDatabase(MySQLConnectionString connstr, int MaxConns, int codePage) { TianMaCharSet.ConvertToCodePage = codePage; _DBConns.BuidConnections(connstr, MaxConns); MySQLConnection conn = _DBConns.PopDBConnection(); try { //预先加载角色信息 //_DBRoleMgr.LoadDBRoleInfos(this, conn); //查询系统公告 GameDBManager.BulletinMsgMgr.LoadBulletinMsgFromDB(this); //从数据库中获取配置参数 GameDBManager.GameConfigMgr.LoadGameConfigFromDB(this); //从数据库中加载品码 LiPinMaManager.LoadLiPinMaDB(this); //从数据库中加载预先分配的名字 PreNamesManager.LoadPremNamesFromDB(this); //副本历史记录管理 FuBenHistManager.LoadFuBenHist(this); //处理排行榜 PaiHangManager.ProcessPaiHang(this, true); //从数据库中获取帮旗列表 GameDBManager.BangHuiJunQiMgr.LoadBangHuiJunQiItemFromDB(this); //从数据库中获取领地占领列表 GameDBManager.BangHuiLingDiMgr.LoadBangHuiLingDiItemsDictFromDB(this); //皇帝特权数据项 HuangDiTeQuanMgr.LoadHuangDiTeQuan(this); } finally { _DBConns.PushDBConnection(conn); } //创建内存表 CreateMemTables(); }
public void BuidConnections(MySQLConnectionString connStr, int maxCount) { lock (this.DBConns) { this.ConnectionString = connStr.AsString; this.MaxCount = maxCount; this.SemaphoreClients = new Semaphore(0, maxCount); for (int i = 0; i < maxCount; i++) { MySQLConnection dbConn = this.CreateAConnection(); if (null == dbConn) { throw new Exception(string.Format("连接MYSQL时失败", new object[0])); } } } }
/// <summary> /// 建立数据库连接池 /// </summary> /// <param name="connStr"></param> public void BuidConnections(MySQLConnectionString connStr, int maxCount) { MySQLConnection dbConn = null; for (int i = 0; i < maxCount; i++) { dbConn = new MySQLConnection(connStr.AsString); try { dbConn.Open(); //打开数据库连接 } catch (Exception ex) { //System.Windows.Application.Current.Dispatcher.Invoke((MethodInvoker)delegate //{ // 格式化异常错误信息 DataHelper.WriteFormatExceptionLog(ex, "BuidConnections", false); throw ex; //}); } MySQLCommand cmd = null; //执行链接查询的字符集 if (!string.IsNullOrEmpty(dbNames)) { cmd = new MySQLCommand(string.Format("SET names '{0}'", dbNames), dbConn); cmd.ExecuteNonQuery(); } DBConns.Enqueue(dbConn); //添加到队列中 } SemaphoreClients = new Semaphore(maxCount, maxCount); }
public MySqlSimpleOper(string dataSource, string user, string password) { connectionString = new MySQLConnectionString(serverIp, dataSource, user, password); }
public void InitServer() { Program.InitProgramExtName(); Console.WriteLine("正在初始化语言文件"); Global.LoadLangDict(); if (!IpLibrary.loadIpLibrary("qqwry.dat")) { throw new Exception(string.Format("启动时加载IP库: {0} 失败", "qqwry.dat")); } XElement xml = null; Console.WriteLine("正在初始化系统配置文件"); try { xml = XElement.Load("AppConfig.xml"); } catch (Exception) { throw new Exception(string.Format("启动时加载xml文件: {0} 失败", "AppConfig.xml")); } LogManager.LogTypeToWrite = (LogTypes)Global.GetSafeAttributeLong(xml, "Server", "LogType"); GameDBManager.SystemServerSQLEvents.EventLevel = (EventLevels)Global.GetSafeAttributeLong(xml, "Server", "EventLevel"); int dbLog = Math.Max(0, (int)Global.GetSafeAttributeLong(xml, "DBLog", "DBLogEnable")); GameDBManager.ZoneID = (int)Global.GetSafeAttributeLong(xml, "Zone", "ID"); string startURL = null; string chargeKey = ""; string serverKey = ""; try { startURL = Global.GetSafeAttributeStr(xml, "Zone", "URL"); chargeKey = Global.GetSafeAttributeStr(xml, "Platform", "GameKey"); serverKey = Global.GetSafeAttributeStr(xml, "Platform", "ServerKey"); } catch (Exception ex) { LogManager.WriteLog(LogTypes.Fatal, "读取AppConfig.xml配置文件出错" + ex.Message, ex, true); } if (!string.IsNullOrEmpty(startURL)) { GetCDBInfoReq cdbServerReq = new GetCDBInfoReq(); cdbServerReq.PTID = Global.GetSafeAttributeStr(xml, "Zone", "PTID"); cdbServerReq.ServerID = GameDBManager.ZoneID.ToString(); cdbServerReq.Gamecode = Global.GetSafeAttributeStr(xml, "Zone", "GameCode"); byte[] responseData = null; byte[] clientBytes = DataHelper.ObjectToBytes <GetCDBInfoReq>(cdbServerReq); for (int i = 1; i <= 5; i++) { responseData = WebHelper.RequestByPost(startURL, clientBytes, 5000, 30000); if (responseData != null) { break; } Console.WriteLine("第{0}次获取启动信息失败,2秒后重试", i); Thread.Sleep(2000); } if (responseData == null) { throw new Exception(string.Format("请求启动信息失败", new object[0])); } ServerDBInfo databaseInfo = DataHelper.BytesToObject <ServerDBInfo>(responseData, 0, responseData.Length); if (databaseInfo == null) { throw new Exception(string.Format("请求启动信息 解析失败", new object[0])); } GameDBManager.serverDBInfo = databaseInfo; GameDBManager.serverDBInfo.userName = StringEncrypt.Decrypt(GameDBManager.serverDBInfo.userName, "eabcix675u49,/", "3&3i4x4^+-0"); GameDBManager.serverDBInfo.uPassword = StringEncrypt.Decrypt(GameDBManager.serverDBInfo.uPassword, "eabcix675u49,/", "3&3i4x4^+-0"); if (GameDBManager.serverDBInfo.InternalIP != Global.GetInternalIP()) { throw new Exception(string.Format("请求启动信息 内网IP不匹配", new object[0])); } string tmpName = string.Format("{0}_game_{1}", cdbServerReq.Gamecode, cdbServerReq.ServerID); if (tmpName != GameDBManager.serverDBInfo.dbName) { throw new Exception(string.Format("请求启动信息 dbName不匹配", new object[0])); } } else { GameDBManager.serverDBInfo = new ServerDBInfo(); GameDBManager.serverDBInfo.userName = StringEncrypt.Decrypt(Global.GetSafeAttributeStr(xml, "Database", "uname"), "eabcix675u49,/", "3&3i4x4^+-0"); GameDBManager.serverDBInfo.uPassword = StringEncrypt.Decrypt(Global.GetSafeAttributeStr(xml, "Database", "upasswd"), "eabcix675u49,/", "3&3i4x4^+-0"); GameDBManager.serverDBInfo.strIP = Global.GetSafeAttributeStr(xml, "Database", "ip"); GameDBManager.serverDBInfo.Port = (int)Global.GetSafeAttributeLong(xml, "Database", "port"); GameDBManager.serverDBInfo.dbName = Global.GetSafeAttributeStr(xml, "Database", "dname"); GameDBManager.serverDBInfo.maxConns = (int)Global.GetSafeAttributeLong(xml, "Database", "maxConns"); GameDBManager.serverDBInfo.InternalIP = Global.GetInternalIP(); GameDBManager.serverDBInfo.ChargeKey = chargeKey; GameDBManager.serverDBInfo.ServerKey = serverKey; } GameDBManager.serverDBInfo.ChargeKey = StringEncrypt.Decrypt(GameDBManager.serverDBInfo.ChargeKey, "eabcix675u49,/", "3&3i4x4^+-0"); GameDBManager.serverDBInfo.ServerKey = StringEncrypt.Decrypt(GameDBManager.serverDBInfo.ServerKey, "eabcix675u49,/", "3&3i4x4^+-0"); GameDBManager.serverDBInfo.DbNames = Global.GetSafeAttributeStr(xml, "Database", "names"); GameDBManager.serverDBInfo.CodePage = (int)Global.GetSafeAttributeLong(xml, "Database", "codePage"); Console.WriteLine("服务器正在建立数据链接池个数: {0}", GameDBManager.serverDBInfo.maxConns); Console.WriteLine("数据库地址: {0}", GameDBManager.serverDBInfo.strIP); Console.WriteLine("数据库名称: {0}", GameDBManager.serverDBInfo.dbName); Console.WriteLine("数据库字符集: {0}", GameDBManager.serverDBInfo.DbNames); Console.WriteLine("数据库代码页: {0}", GameDBManager.serverDBInfo.CodePage); DBConnections.dbNames = GameDBManager.serverDBInfo.DbNames; Console.WriteLine("正在初始化数据库链接"); MySQLConnectionString connectStr = new MySQLConnectionString(GameDBManager.serverDBInfo.strIP, GameDBManager.serverDBInfo.dbName, GameDBManager.serverDBInfo.userName, GameDBManager.serverDBInfo.uPassword); this._DBManger.LoadDatabase(connectStr, GameDBManager.serverDBInfo.maxConns, GameDBManager.serverDBInfo.CodePage); Program.ValidateZoneID(); GameDBManager.DBName = Global.GetSafeAttributeStr(xml, "Database", "dname"); DBWriter.ValidateDatabase(this._DBManger, GameDBManager.DBName); if (!Global.InitDBAutoIncrementValues(this._DBManger)) { Console.WriteLine("存在致命错误,请输入exit 和 y 退出"); } else { LineManager.LoadConfig(); Console.WriteLine("正在初始化网络"); this._TCPManager = TCPManager.getInstance(); this._TCPManager.initialize((int)Global.GetSafeAttributeLong(xml, "Socket", "capacity")); this._TCPManager.DBMgr = this._DBManger; this._TCPManager.RootWindow = this; this._TCPManager.Start(Global.GetSafeAttributeStr(xml, "Socket", "ip"), (int)Global.GetSafeAttributeLong(xml, "Socket", "port")); PlatTCPManager.getInstance().initialize((int)Global.GetSafeAttributeLong(xml, "Platform", "capacity")); PlatTCPManager.getInstance().Start(Global.GetSafeAttributeStr(xml, "Platform", "ip"), (int)Global.GetSafeAttributeLong(xml, "Platform", "port")); Console.WriteLine("正在配置后台线程"); this.eventWorker = new BackgroundWorker(); this.eventWorker.DoWork += this.eventWorker_DoWork; this.updateMoneyWorker = new BackgroundWorker(); this.updateMoneyWorker.DoWork += this.updateMoneyWorker_DoWork; this.releaseMemoryWorker = new BackgroundWorker(); this.releaseMemoryWorker.DoWork += this.releaseMemoryWorker_DoWork; this.updateLiPinMaWorker = new BackgroundWorker(); this.updateLiPinMaWorker.DoWork += this.updateLiPinMaWorker_DoWork; this.updatePreDeleteWorker = new BackgroundWorker(); this.updatePreDeleteWorker.DoWork += this.updatePreDeleteRoleWorker_DoWork; this.updatePreNamesWorker = new BackgroundWorker(); this.updatePreNamesWorker.DoWork += this.updatePreNamesWorker_DoWork; this.updatePaiHangWorker = new BackgroundWorker(); this.updatePaiHangWorker.DoWork += this.updatePaiHangWorker_DoWork; this.dbWriterWorker = new BackgroundWorker(); this.dbWriterWorker.DoWork += new DoWorkEventHandler(this.dbWriterWorker_DoWork); this.dbGoodsBakTableWorker = new BackgroundWorker(); this.dbGoodsBakTableWorker.DoWork += new DoWorkEventHandler(this.dbGoodsBakTableWorker_DoWork); this.updateLastMailWorker = new BackgroundWorker(); this.updateLastMailWorker.DoWork += this.updateLastMail_DoWork; this.updateGroupMailWorker = new BackgroundWorker(); this.updateGroupMailWorker.DoWork += this.updateGroupMail_DoWork; this.updateFacebookWorker = new BackgroundWorker(); this.updateFacebookWorker.DoWork += this.updateFacebook_DoWork; this.MainDispatcherWorker = new BackgroundWorker(); this.MainDispatcherWorker.DoWork += new DoWorkEventHandler(this.MainDispatcherWorker_DoWork); this.userReturnCheckWorker = new BackgroundWorker(); this.userReturnCheckWorker.DoWork += this.UserReturnCheckWorker_DoWork; this.updateTenWorker = new BackgroundWorker(); this.updateTenWorker.DoWork += this.updateTen_DoWork; this.updateGiftCodeWorker = new BackgroundWorker(); this.updateGiftCodeWorker.DoWork += this.updateGiftCode_DoWork; UnhandedException.ShowErrMsgBox = false; GlobalServiceManager.initialize(); GlobalServiceManager.startup(); if (!this.MainDispatcherWorker.IsBusy) { this.MainDispatcherWorker.RunWorkerAsync(); } GameDBManager.GameConfigMgr.UpdateGameConfigItem("gamedb_version", Program.GetVersionDateTime()); DBWriter.UpdateGameConfig(this._DBManger, "gamedb_version", Program.GetVersionDateTime()); Console.WriteLine("系统启动完毕"); } }
public MySqlSimpleOper(string dataSource, string user, string password) { connectionString = new MySQLConnectionString(serverIp,dataSource, user, password); }
public MySqlSimpleOper(string dataSource, string user, string password, string sql = "") { connectionString = new MySQLConnectionString(dataSource, user, password); sqlString = sql; }
public MySqlSimpleOper(string dataSource, string user, string password,string [] sqlArray) { connectionString = new MySQLConnectionString(serverIp,dataSource, user, password); sqlStringArray = sqlArray; }
public MySqlSimpleOper(string dataSource, string user, string password, string [] sqlArray) { connectionString = new MySQLConnectionString(serverIp, dataSource, user, password); sqlStringArray = sqlArray; }