what kind of operations are you doing? if you know the size beforehand and it is not very large, try to use several variables of varchar(8000), otherwise, consider to create a temporary table with a column of text data type and use ReadText/WriteText/UpdateText

解决方案 »

  1.   

    可以,方法1.是saucer的,考虑用text来处理.方法2.是我的,用多个变量来处理.可以参考:
    http://expert.csdn.net/Expert/topic/2303/2303308.xml?temp=.3962366
    化解字符串不能超过8000的方法
      

  2.   

    DECLARE @TempStr varchar(8000)
    DECLARE @TempStr1 varchar(8000)EXEC @hr = sp_OACreate 'Microsoft.XMLHTTP', @XMLHTTP OUT --创建Microsoft.XMLHTTP对象………………
    EXEC @hr =sp_OAMethod @XMLHTTP, 'responseBody',@TempStr+@TempStr1 OUT
    这里@TempStr 是二进制数据。系统提示@TempStr+@TempStr1 出错,那怎么办?
      

  3.   

    如果不@TempStr+@TempStr1 
    提示错误为“为该字符串或二进制列或参数所指定的源数据太长。”
      

  4.   

    --这里不能这样用,只能用一个变量.试试改为存储过程.create proc p_test
    @str text output
    as
    ..........
    EXEC @hr = sp_OACreate 'Microsoft.XMLHTTP', @XMLHTTP OUT --创建Microsoft.XMLHTTP对象………………
    EXEC @hr =sp_OAMethod @XMLHTTP, 'responseBody',@str OUT
      

  5.   

    agree with saucer存在表的记录里,一行一条记录
      

  6.   

    不好意思,我很久没有写存储过程了!
    还问个
    Exec p_test为何错误呢?
    --Exec p_test(?)也错误呢?