我的问题是:我有可能将巨大的文件存储在 SQL Server 2008 (> 1GB) 的二进制(图像)字段中。
如果我使用常规 select 语句返回整个二进制文件,则查询需要一分钟以上才能将结果返回到我的 .NET 程序,并且我的客户端应用程序会超时。我正在寻找的是 TSQL 代码,它将限制返回的数据大小(可能是 300mb),允许我遍历剩余的块并防止超时。
这必须发生在 SQL 查询中,而不是在返回数据后的处理中。
我试过 SubString,MS 说它适用于二进制数据,但我得到的只是最大 8000 字节。我尝试的最后一件事是这样的:
select substring(Package,0,300000000) 'package', ID from rplPackage where ID=0
--where package is the huge binary stored in a image field
由于客户端应用程序,数据流也不是一个真正的选择。
有任何想法吗?