c#将数据流式传输到SQL Server,处理连接错误
问题: 有一个巨大的blob从服务器流到客户端应用程序。 如果在将流写入数据库时出现异常(连接丢失),则到目前为止接收到的所有数据都将丢失,数据库字段随后将保持为空 问题:是否有办法更改该行为,以便数据库保存所有迄今为止接收到的数据并仅存储这些数据,即使存在异常?我想稍后继续下载 重要提示:我不想在内存中缓冲所有接收到的数据,我只想直接将接收到的数据写入数据库,以避免内存峰值。为了实现这一点,我正在将HttpClient与HttpCompletionOption.ResponseHeadersRead一起使用。如果没有连接问题,则一切正常 到目前为止的解决方法:我可以先将接收到的数据写入临时文件,然后在出现连接问题后,将接收到的数据存储到数据库中。这会奏效,但有更好的方法吗 当前如何写入流:c#将数据流式传输到SQL Server,处理连接错误,c#,sql-server,streaming,C#,Sql Server,Streaming,问题: 有一个巨大的blob从服务器流到客户端应用程序。 如果在将流写入数据库时出现异常(连接丢失),则到目前为止接收到的所有数据都将丢失,数据库字段随后将保持为空 问题:是否有办法更改该行为,以便数据库保存所有迄今为止接收到的数据并仅存储这些数据,即使存在异常?我想稍后继续下载 重要提示:我不想在内存中缓冲所有接收到的数据,我只想直接将接收到的数据写入数据库,以避免内存峰值。为了实现这一点,我正在将HttpClient与HttpCompletionOption.ResponseHeadersR
string connectionString=“连接字符串”;
使用(SqlConnection conn=newsqlconnection(connectionString)){
conn.Open();
使用(SqlCommand cmd=newsqlcommand(“updatetablex set Data=@Data,其中id=@id”)){
cmd.Parameters.AddWithValue(“@Id”,ParameterDirection.Input);
cmd.Parameters.AddWithValue(“@Data”,streamToStore);
cmd.Connection=conn;
int rows=cmd.ExecuteNonQuery();
}
}
您目前是如何将流写入数据库的?刚刚用一些源代码更新了这个问题。仅使用基本的.net sql类。您当前如何将流写入数据库?仅使用一些源代码更新了问题。仅使用基本的.NETSQL类。