你的字段没有设置为 nvarchar(max)类型吗

解决方案 »

  1.   

    那你用  TEXT 类型字段保存,可以不?TEXT   貌似最大长度为2G了
      

  2.   

    从你的描述我个人觉得你得妥协。如果确实设置了 nvarchar(max) 还不够用,只能从你的文本文件入手了。
    1.文本文件里面空行可以合并的合并掉
    2.文本文件分割成几段来存储
    3.如果上面两个都不考虑,那就把文本以文件的形式存在服务器某个目录下
      

  3.   

    字段是nvarchar(max)
    取值没问题  是无法存入表中   
    表的数据结构设为nvarchar(max)或text  结果都无法存进去
    无法插入
      

  4.   

    写文本也行
    不过那就得通过程序了   
    目前是寻求SQLserver本身
    如果有这样方法可行 那就尽量不用程序
    实在没辙了 才考虑程序
      

  5.   

    楼主是在查询分析里执行的吗?如果是,你要设置一下set textsize的
      

  6.   

    就看一次性提交的sql最大允许多少字节了
    update ... set fvarcharmax='...1G字节...'
    where ...
      

  7.   

    SQL语句本身应超不过长度
    我仔细校验了下原因declare @x nvarchar(max)
    @x是一条条固定长度的记录拼接起来的 
    记录数达到某个阈值前 一切正常 
    而超过阈值后  @x 它本身的值正确
    但插入表 或者 赋值给另一个变量
    比如:
    declare @y nvarchar(max)
    set @y=@x 
    @y 就变成  null了 
    肯定就错了啊  还有一点不解的是  无论是否 set textsize
    declare @x nvarchar(max)
    set @x=REPLICATE('1',100000) 
    select LEN(@x)
    得到的总是8000 
    具体原因没有找到 最后采用了  
      

  8.   

    怎么引用错了采用了  lyyk2698e 的方法