将一段中文大文本直接复制到企业管理器某个表的网格中,该字段为TEXT字段,总是更新失败,为什么? 提示输入的值与列的数据长度不一致,或者超出网格缓冲区限制,但是在查询分析器中用insert into 语句来插入就可以,请问是为什么呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 text,image不能直接显示或修改其值.(因为其为二进制编码)--更新text字段的值create table PE_Soft(SoftIntro text,ChannelID integer) insert into PE_Soft select 'aaa ',1004 union all select 'bbb ',1003 union all select 'ccc ',1002 declare @ptr binary(16) select @ptr=textptr(SoftIntro) from PE_Soft where ChannelID=1002 updatetext PE_Soft.SoftIntro @ptr null 0 'testing ' select * from PE_Soft drop table PE_Soft ntext、text 和 image用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的固定长度和可变长度数据类型。Unicode 数据使用 UNICODE UCS-2 字符集。ntext可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。text服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。image可变长度二进制数据介于 0 与 231-1 (2,147,483,647) 字节之间。 注释下面的函数和语句可以与 ntext、text 或 image 数据一起使用。函数 语句 DATALENGTH READTEXT PATINDEX SET TEXTSIZE SUBSTRING UPDATETEXT TEXTPTR WRITETEXT TEXTVALID SELECT OBJECTPROPERTY(OBJECT_ID('test1'),'TableTextInRowLimit')显示为0,但是直接输入少量的字符还是可以插入的或者修改的 如果是sql server2000, 那只能如 dawugui 同学那样处理如果是sql server2005,可以将字段定义为varchar(max),或者nvarchar(max),当然也可以定义为xmlvarchar(max),或者nvarchar(max),可以想varchar(20),nvarchar(20)一样的处理方式,不会象text字段那样处理.一旦用text字段,查询,更新会受很多限制. 我想问,如果text in row没有开启的话,可以在企业管理器中直接插入更新的text字段的文本长度是多少 可以为在数据行中存储的 text、ntext 和 image 字符串指定一个从 24 到 7000 字节的最大长度(可选):是不是限制 在7000呀 --更新text字段的值,不能直接更新create table PE_Soft(SoftIntro text,ChannelID integer) insert into PE_Soft select 'aaa ',1004 union all select 'bbb ',1003 union all select 'ccc ',1002 declare @ptr binary(16) select @ptr=textptr(SoftIntro) from PE_Soft where ChannelID=1002 updatetext PE_Soft.SoftIntro @ptr null 0 'testing ' select * from PE_Soft 如何修改这个语句 drop table 无法删除表 sql连接不到服务器啊!!!!!!!! SQL怎么样统计一天内已退款的总数? 号码段使用情况计算 top 10为什么不是查询表里最前面那10行呢? 关于text类型字段的问题 数据库中测试网络是否连通 修改 各位有谁用过sql-programmer? 汇总sql语句问题 从access到入到sql server2005数据库的sql语句
(因为其为二进制编码)--更新text字段的值
create table PE_Soft(SoftIntro text,ChannelID integer)
insert into PE_Soft
select 'aaa ',1004
union all
select 'bbb ',1003
union all
select 'ccc ',1002 declare @ptr binary(16)
select @ptr=textptr(SoftIntro) from PE_Soft where ChannelID=1002
updatetext PE_Soft.SoftIntro @ptr null 0 'testing '
select * from PE_Soft drop table PE_Soft
用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的固定长度和可变长度数据类型。Unicode 数据使用 UNICODE UCS-2 字符集。ntext可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。text服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。image可变长度二进制数据介于 0 与 231-1 (2,147,483,647) 字节之间。 注释
下面的函数和语句可以与 ntext、text 或 image 数据一起使用。函数 语句
DATALENGTH READTEXT
PATINDEX SET TEXTSIZE
SUBSTRING UPDATETEXT
TEXTPTR WRITETEXT
TEXTVALID
如果是sql server2005,可以将字段定义为varchar(max),或者nvarchar(max),当然也可以定义为xml
varchar(max),或者nvarchar(max),可以想varchar(20),nvarchar(20)一样的处理方式,不会象text
字段那样处理.一旦用text字段,查询,更新会受很多限制.
是不是限制 在7000呀
--更新text字段的值,不能直接更新
create table PE_Soft(SoftIntro text,ChannelID integer)
insert into PE_Soft
select 'aaa ',1004
union all
select 'bbb ',1003
union all
select 'ccc ',1002 declare @ptr binary(16)
select @ptr=textptr(SoftIntro) from PE_Soft where ChannelID=1002
updatetext PE_Soft.SoftIntro @ptr null 0 'testing '
select * from PE_Soft