串行写队列的MYSQL大文本参数
2023-09-27 14:28:13 时间
public void AsyncWriteDataBase() { var spName = ""; while (true) { try { var jsonText = RedisHelper.BlockingPopItemFromList("async_write_list"); var o = (JObject)JsonConvert.DeserializeObject(jsonText); if (o["need_newcache"].ToString() != "0") continue; spName=o["action"].ToString(); var jObject = o["paras"]; var paras = new MySqlParameter[jObject.Children().Count()]; var count = 0; foreach (JProperty item in jObject.Children()) { if (item.Value.ToString().Length >=1024) { paras[count] = new MySqlParameter(item.Name, MySqlDbType.MediumText); //var bytes = System.Text.Encoding.UTF8.GetBytes(item.Value.ToString()); //paras[count].Value = bytes; //如果下面的代码不行,试试上面注释掉的代码 paras[count].Value = item.Value.ToString(); } else { paras[count] = new MySqlParameter(item.Name, MySqlDbType.VarChar, 1024); paras[count].Value = item.Value; } count++; } SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionString, CommandType.StoredProcedure, spName, paras); Program.myFrm.SetTextMessage("成功写入异步数据库记录,调用的存储过程:" + spName, 3); } catch (Exception err) { Program.myFrm.SetTextMessage("写入异步数据库记录失败,调用的存储过程:" + spName+",错误原因:"+err, 3); } } }
相关文章
- MYSQL服务无法启动,提示信息1067解决办法
- MySQL--Centos7.x MySQL5.7.x忘记root密码的解决方法
- MySQL user权限表及其他权限表详解
- 【mysql问题】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
- hibernate利用mysql的自增张id属性实现自增长id和手动赋值id并存
- 基于 JavaWeb+MySQL设计实现博客管理系统【100010346】
- mysql中模糊查询的四种用法介绍
- MySQL的基本命令
- MySQL教程:数据库具体操作
- Django+Bootstrap+Mysql 搭建个人博客(三)
- MySQL引擎及选择