刚从SQL2000 换到 SQL2008 
我想修改表内的一条记录,但提示以下错误
=========================错误源:.NET.SqlClient Data Provider 
错误信息:将截断字符串或二进制数据。 =========================
而要修改的记录包含是有TEXT字段的,当TEXT字段本身内容比较多的时候,无论我修改改记录的任何一个字段同样会出上面的错,但用语句修改是没问题的,但就不能直接打开SQL2008直接修改,但SQL2000 是允许的有什么办法解决呢?没次修改一写小东西都要写语句很麻烦的.

解决方案 »

  1.   

    应该就是那个TEXT 类型的字段出问题,当text类型字段内容比较少或者没内容的情况下是可以直接修改的
      

  2.   

    text的长度很大,但是有很多使用限制,不建议后续使用
      

  3.   


    但对于信息发布的内容,不同text还能用什么类型呢?特别是用户在WORD 那里拷贝过来的,带了大量标记的,
    用代码删除那些标记 用户又不愿意重新排版了
    ===========================================
    现在发现记录连直接删除也提示这个错误的,
      

  4.   

    varchar(max)/nvarchar(max),这是微软推荐的,后续不再支持text/ntext类型。
      

  5.   

    我已经用varchar(max)/nvarchar(max),转换过了,但还是提示错误,应该是不支持text/ntext类型。了
      

  6.   

     如果列不多,那先把这个表导到一个临时表里面,然后重建源表,重建时把那些列改为varchar(max)/nvarchar(max),然后把数据倒回来,倒回来的过程中,把列显式convert(varchar(max),列名)这样处理