如何打开sql2008直接修改记录?

时间:2022-11-29 15:03:13
刚从SQL2000 换到 SQL2008 
我想修改表内的一条记录,但提示以下错误
=========================

错误源:.NET.SqlClient Data Provider 
错误信息:将截断字符串或二进制数据。 

=========================
而要修改的记录包含是有TEXT字段的,当TEXT字段本身内容比较多的时候,无论我修改改记录的任何一个字段同样会出上面的错,但用语句修改是没问题的,但就不能直接打开SQL2008直接修改,但SQL2000 是允许的

有什么办法解决呢?没次修改一写小东西都要写语句很麻烦的.

10 个解决方案

#1


convert(varchar(max),列名)

#2


你的表 --右键-->编辑200行 ,筛选出你的记录 

#3


不过还是要先了解是哪里出现了:错误信息:将截断字符串或二进制数据。 否则用界面也不一定成功 如何打开sql2008直接修改记录?

#4


引用 3 楼 DBA_Huangzj 的回复:
不过还是要先了解是哪里出现了:错误信息:将截断字符串或二进制数据。 否则用界面也不一定成功

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

#5


可能是你修改的数据长度大于数据库字段长度

#6


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

#7



引用 6 楼 DBA_Huangzj 的回复:
text的长度很大,但是有很多使用限制,不建议后续使用

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

#8


引用 7 楼 dreams1981 的回复:
引用 6 楼 DBA_Huangzj 的回复:
text的长度很大,但是有很多使用限制,不建议后续使用
但对于信息发布的内容,不同text还能用什么类型呢?特别是用户在WORD 那里拷贝过来的,带了大量标记的,
用代码删除那些标记 用户又不愿意重新排版了
===========================================
现在发现记录连直接删除也提示这个错误的,
varchar(max)/nvarchar(max),这是微软推荐的,后续不再支持text/ntext类型。

#9


引用 8 楼 DBA_Huangzj 的回复:
引用 7 楼 dreams1981 的回复:
引用 6 楼 DBA_Huangzj 的回复:
text的长度很大,但是有很多使用限制,不建议后续使用
但对于信息发布的内容,不同text还能用什么类型呢?特别是用户在WORD 那里拷贝过来的,带了大量标记的,
用代码删除那些标记 用户又不愿意重新排版了
===========================================
……

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

#10


引用 9 楼 dreams1981 的回复:
引用 8 楼 DBA_Huangzj 的回复:
引用 7 楼 dreams1981 的回复:
引用 6 楼 DBA_Huangzj 的回复:
text的长度很大,但是有很多使用限制,不建议后续使用
但对于信息发布的内容,不同text还能用什么类型呢?特别是用户在WORD 那里拷贝过来的,带了大量标记的,
用代码删除那些标记 用户又不愿意重新排版了
===================……
 如果列不多,那先把这个表导到一个临时表里面,然后重建源表,重建时把那些列改为varchar(max)/nvarchar(max),然后把数据倒回来,倒回来的过程中,把列显式convert(varchar(max),列名)这样处理

#1


convert(varchar(max),列名)

#2


你的表 --右键-->编辑200行 ,筛选出你的记录 

#3


不过还是要先了解是哪里出现了:错误信息:将截断字符串或二进制数据。 否则用界面也不一定成功 如何打开sql2008直接修改记录?

#4


引用 3 楼 DBA_Huangzj 的回复:
不过还是要先了解是哪里出现了:错误信息:将截断字符串或二进制数据。 否则用界面也不一定成功

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

#5


可能是你修改的数据长度大于数据库字段长度

#6


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

#7



引用 6 楼 DBA_Huangzj 的回复:
text的长度很大,但是有很多使用限制,不建议后续使用

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

#8


引用 7 楼 dreams1981 的回复:
引用 6 楼 DBA_Huangzj 的回复:
text的长度很大,但是有很多使用限制,不建议后续使用
但对于信息发布的内容,不同text还能用什么类型呢?特别是用户在WORD 那里拷贝过来的,带了大量标记的,
用代码删除那些标记 用户又不愿意重新排版了
===========================================
现在发现记录连直接删除也提示这个错误的,
varchar(max)/nvarchar(max),这是微软推荐的,后续不再支持text/ntext类型。

#9


引用 8 楼 DBA_Huangzj 的回复:
引用 7 楼 dreams1981 的回复:
引用 6 楼 DBA_Huangzj 的回复:
text的长度很大,但是有很多使用限制,不建议后续使用
但对于信息发布的内容,不同text还能用什么类型呢?特别是用户在WORD 那里拷贝过来的,带了大量标记的,
用代码删除那些标记 用户又不愿意重新排版了
===========================================
……

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

#10


引用 9 楼 dreams1981 的回复:
引用 8 楼 DBA_Huangzj 的回复:
引用 7 楼 dreams1981 的回复:
引用 6 楼 DBA_Huangzj 的回复:
text的长度很大,但是有很多使用限制,不建议后续使用
但对于信息发布的内容,不同text还能用什么类型呢?特别是用户在WORD 那里拷贝过来的,带了大量标记的,
用代码删除那些标记 用户又不愿意重新排版了
===================……
 如果列不多,那先把这个表导到一个临时表里面,然后重建源表,重建时把那些列改为varchar(max)/nvarchar(max),然后把数据倒回来,倒回来的过程中,把列显式convert(varchar(max),列名)这样处理