我最近解決了一個問題,我的VB6應用程序使用ADO 2.8和AppendChunck方法將Recordset.Field保存爲大型二進制對象。如果數據太大,我會在for循環中得到'Invalid Handle'或'沒有足夠的系統存儲來執行此操作'。我通過發送塊到存儲過程並使用'updatetext'來解決這個問題。但是,在這樣做的情況下,由於8k的限制,我現在只能一次發送8k個字符。有人知道一個很好的解決方法嗎?以下是我的sproc。解決sql服務器存儲過程參數8k限制
@chunck binary(8000),
@result_id int
as
declare @pointer binary(16),
@imagelength int,
@datalength int
--get the pointer and length to the image column
select @pointer = textptr(result_image),
@imagelength = datalength(result_image)
from dbo.dash_result
where result_id = @result_id
if @pointer is null
update dbo.dash_result
set result_image = @chunck
where result_id = @result_id
else
begin
--append the chunck of data to the end
set @datalength = datalength(@chunck)
updatetext dbo.dash_result.result_image @pointer @imagelength 0 @chunck
end
工作,但我不得不使用圖像,而不是文字。 – 2008-12-23 16:02:31