我讲一个长度为 645249字节数组写入一个LongBlob类型的字段,提示如下错误:
未处理 MySql.Data.MySqlClient.MySqlException
Message=Data too long for column 'result' at row 8
Source=CTD.SQL
ErrorCode=-2147467259
Number=1406
StackTrace:程序代码如下:
try
{
MySqlParameter[] arParms = new MySqlParameter[8];
arParms[0] = new MySqlParameter("coil_id", MySqlDbType.VarChar, 20);
arParms[0].Value = coilid; arParms[1] = new MySqlParameter("result", MySqlDbType.LongBlob, resultBytes.Length);
if (resultBytes == null) { arParms[1].Value = DBNull.Value; }
else { arParms[1].Value = resultBytes; } arParms[2] = new MySqlParameter("topavg1", MySqlDbType.Double);
arParms[2].Value = topavg1; arParms[3] = new MySqlParameter("topavg2", MySqlDbType.Double);
arParms[3].Value = topavg2; arParms[4] = new MySqlParameter("topavg3", MySqlDbType.Double);
arParms[4].Value = topavg3; arParms[5] = new MySqlParameter("botavg1", MySqlDbType.Double);
arParms[5].Value = botavg1; arParms[6] = new MySqlParameter("botavg2", MySqlDbType.Double);
arParms[6].Value = botavg2; arParms[7] = new MySqlParameter("botavg3", MySqlDbType.Double);
arParms[7].Value = botavg3; MySqlHelper2.ExecuteNonQuery(MySqlHelper2.ConnectionString, CommandType.StoredProcedure, "CTD_UpdateCoilResult", arParms);
return true;
}
catch (Exception ex)
{
throw ex;
}请问如何解决这个问题?
未处理 MySql.Data.MySqlClient.MySqlException
Message=Data too long for column 'result' at row 8
Source=CTD.SQL
ErrorCode=-2147467259
Number=1406
StackTrace:程序代码如下:
try
{
MySqlParameter[] arParms = new MySqlParameter[8];
arParms[0] = new MySqlParameter("coil_id", MySqlDbType.VarChar, 20);
arParms[0].Value = coilid; arParms[1] = new MySqlParameter("result", MySqlDbType.LongBlob, resultBytes.Length);
if (resultBytes == null) { arParms[1].Value = DBNull.Value; }
else { arParms[1].Value = resultBytes; } arParms[2] = new MySqlParameter("topavg1", MySqlDbType.Double);
arParms[2].Value = topavg1; arParms[3] = new MySqlParameter("topavg2", MySqlDbType.Double);
arParms[3].Value = topavg2; arParms[4] = new MySqlParameter("topavg3", MySqlDbType.Double);
arParms[4].Value = topavg3; arParms[5] = new MySqlParameter("botavg1", MySqlDbType.Double);
arParms[5].Value = botavg1; arParms[6] = new MySqlParameter("botavg2", MySqlDbType.Double);
arParms[6].Value = botavg2; arParms[7] = new MySqlParameter("botavg3", MySqlDbType.Double);
arParms[7].Value = botavg3; MySqlHelper2.ExecuteNonQuery(MySqlHelper2.ConnectionString, CommandType.StoredProcedure, "CTD_UpdateCoilResult", arParms);
return true;
}
catch (Exception ex)
{
throw ex;
}请问如何解决这个问题?
LongBlob 字符可以存储超长的字节数,照理不会报错,很有可能是和msyql本身的配置有关联