我需要一个代码来使用 C# 将(最终很大的)文件存储到 DB 中。
我正在使用的解决方案是这样的:(我在数据库中使用 varbinary(MAX) 列)
1)创建SqlCommand
2)创建SqlParameter
3) 设置 parameter.Value = File.ReadAllBytes(filePath)
4)执行SqlCommand
有没有更有效的解决方案?由于文件可能很大,所以当将所有字节读入内存,然后将它们存储到数据库中时,我担心性能问题。
先感谢您
我需要一个代码来使用 C# 将(最终很大的)文件存储到 DB 中。
我正在使用的解决方案是这样的:(我在数据库中使用 varbinary(MAX) 列)
1)创建SqlCommand
2)创建SqlParameter
3) 设置 parameter.Value = File.ReadAllBytes(filePath)
4)执行SqlCommand
有没有更有效的解决方案?由于文件可能很大,所以当将所有字节读入内存,然后将它们存储到数据库中时,我担心性能问题。
先感谢您
我现在面临同样的问题。有一种方法可以顺序写入 varbinary 字段。请参阅这篇文章:“通过 ASP.NET MVC 从 SQL Server 下载和上传图像” http://www.codeproject.com/KB/aspnet/streamingblobhttp.aspx
它显示了一种使用命令的方法,例如:
UPDATE <table> SET <field>.WRITE(@data, null, null) WHERE ...
这允许将数据块写入您的列,而无需读取整个文件。
你所拥有的就是你能用一个varbinary(MAX)
专栏得到的最好的东西。虽然您可以将数据流式传输出数据库,但无法将其流式传输到.