C# 将映像插入MS SQL Server

C# 将映像插入MS SQL Server,c#,sql,sql-server,image,xamarin.android,C#,Sql,Sql Server,Image,Xamarin.android,我正在尝试将图像插入联机数据库,但在插入时,数据库会在执行过程中关闭连接。我用同一数据库上的其他表测试了其他insert语句,效果很好。我尝试将数据库类型更改为varbinary(MAX)和image。还是一样的错误。 我的图像保存在字节[]变量中,然后用AddWithValue插入 这是我将签名转换为字节[]的代码: var signatureImage = sig.GetImage(); byte[] bitmapData; using (var memSt

我正在尝试将图像插入联机数据库,但在插入时,数据库会在执行过程中关闭连接。我用同一数据库上的其他表测试了其他insert语句,效果很好。我尝试将数据库类型更改为varbinary(MAX)和image。还是一样的错误。 我的图像保存在
字节[]
变量中,然后用AddWithValue插入

这是我将签名转换为
字节[]
的代码:

var signatureImage = sig.GetImage();

        byte[] bitmapData;
        using (var memStream = new MemoryStream())
        {
            signatureImage.Compress(Bitmap.CompressFormat.Jpeg, 50, memStream);
            bitmapData = memStream.ToArray();
        }
以下是我的代码,用于添加到SQL命令的参数中:

command.Parameters.AddWithValue("@waiverSigned", user.waiverSigned);
我得到的错误是:
System.Data.SqlClient.SqlException(0x80131904):服务器已关闭连接。

环境:Xamarin Android


如果您还需要什么,请告诉我。

是否尝试将参数类型指定为varbinary?-@DenisKrasakov我只是尝试了一下,但仍然给了我同样的错误。我想知道它是否在一个线程(UI线程)上有太多的数据。我们尝试将一个字节数组和一个数字插入到新创建的表中,结果成功了。所以我想知道一个线程是否太多了。也许这里有些东西可以帮助你:@ZLK这并不能解决我的问题。我打开连接,使用
ExecuteNonQuery()
,但在该查询过程中抛出一个错误,说
System.Data.SqlClient.SqlException(0x80131904):服务器关闭了连接。
通常直接从移动客户端使用数据库是不好的做法。我建议使用小型REST服务来处理图像上传和其他事情。但如果您想直接使用数据库命令,请尝试增加连接和命令的超时时间。您是否尝试将参数类型指定为varbinary?-@DenisKrasakov我只是尝试了一下,但仍然给了我同样的错误。我想知道它是否在一个线程(UI线程)上有太多的数据。我们尝试将一个字节数组和一个数字插入到新创建的表中,结果成功了。所以我想知道一个线程是否太多了。也许这里有些东西可以帮助你:@ZLK这并不能解决我的问题。我打开连接,使用
ExecuteNonQuery()
,但在该查询过程中抛出一个错误,说
System.Data.SqlClient.SqlException(0x80131904):服务器关闭了连接。
通常直接从移动客户端使用数据库是不好的做法。我建议使用小型REST服务来处理图像上传和其他事情。但若您想直接使用数据库命令,请尝试增加连接和命令的超时时间