【发布时间】:2009-12-03 21:29:43
【问题描述】:
在广泛检查了这个问题的答案后,我仍然找不到令人满意的解决方案。就这样吧。
我需要在 SQL Server 2005 表的列中存储可能大量的数据。我绝对需要以流媒体方式工作,这样:
- 写入时,数据以块的形式发送到数据库。是否有一些内置方法可以使用 System.Data.SqlClient 中的类从 C# 客户端代码中实现这一点?还是我需要求助于使用 ADODB.Net Stream 对象?不确定如何混合这两个概念(尤其是关于参与当前的 SqlTransaction。
另外,T-SQL 存储过程有没有办法将数据追加到现有列。使用这种方法,存储过程将被客户端代码多次调用,这将达到流式传输的要求。
- 读取时,应以流方式一次读取一个数据块。
另外,T-SQL 存储过程是否有办法提供对图像字段内容的顺序甚至随机访问?
【问题讨论】:
-
SQL Server 2008 和 VARBINARY(MAX) 字段的 FILESTREAM 属性提供了这种功能 - 我不认为 SQL Server 2005 有类似的功能:-(
-
是的,你是对的。我害怕意识到这一点。然后我采用了下面我自己的答案中描述的解决方案。
标签: sql-server-2005 streaming blob