C# mySQL在插入大blob时断开连接

C# mySQL在插入大blob时断开连接,c#,mysql,.net,blob,C#,Mysql,.net,Blob,我正在使用此方法将一个大blob插入mySQL数据库(blob大小~40MB) 大约15秒后,它抛出一个异常。这里的所有内容都适用于小于~20MB的blob protected override int internalExecuteInt(string SQL, byte[] Blob) { using (MySqlCommand cmd = new MySqlCommand(SQL, connection)) { if (Blob != null)

我正在使用此方法将一个大blob插入mySQL数据库(blob大小~40MB) 大约15秒后,它抛出一个异常。这里的所有内容都适用于小于~20MB的blob

protected override int internalExecuteInt(string SQL, byte[] Blob)
{
    using (MySqlCommand cmd = new MySqlCommand(SQL, connection))
    {
        if (Blob != null)
        {
            cmd.CommandTimeout = 600;
            cmd.Parameters.AddWithValue("@blob", Blob);
        }
        return cmd.ExecuteNonQuery();
    }
}

...
internalExecuteInt("INSERT INTO images (image) VALUES (@blob)", myLargeBlob);
...
例外情况:

MySqlException:在命令执行期间遇到致命错误

内部异常:

SocketException:远程主机强制关闭了现有连接

我已经更改了网络读取超时(600)、网络写入超时(600)、等待超时(28800)、从网络超时(3600)和交互超时(28800)


“image”列是一个LONGBLOB

尝试将该列更改为LONGBLOB

我曾经遇到过类似的问题,增加日志文件会有所帮助。请参阅my.ini中的“innodb_log_file_size”变量-它通常需要是blob的两倍大。尽管在某些情况下(如200MB以上),它可能仍然没有帮助…

我也面临同样的问题。
设置以下变量对我有帮助

set global bulk_insert_buffer_size=99999744;

什么类型的“图像”斑点?对于那个数据类型来说,它可能太大了。@Rob它现在是一个长blob,但仍然不起作用。我试过了,但仍然不起作用,请查看我的问题以进行编辑。