1  /  1  页   1 跳转 查看:2434

text 字段被截断

text 字段被截断

各位老大,请帮忙看看这个问题:

在2005或2008中

1. CREATE TABLE [dbo].[test1](
[c1] [int] NULL,
[c2] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

2. CREATE TABLE [dbo].[test2](
[c1] [int] NULL,
[c2] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

3. 在test2添加一条记录,让c2的长度超过1024个字符,如

insert test2 values(1, space(4567))

4. 创建一个job,在job中加入一个step:
insert test1
exec('select * from test2')

5. 运行这个job
6. 运行
select max(datalength(c2))
from test1
select max(datalength(c2))
from test2

发现test1中的c2被截为512或1024个字符。

如果在SSMS中运行

insert test1
exec('select * from test2')

则一切正常,test1中的c2不会被截短。

请问各位遇到过这样的问题吗?是不是微软的bug呀?

多谢了!
最后编辑www2002 最后编辑于 2010-03-22 07:55:14
 

回复:text 字段被截断

CSDN的ldslove兄指出了问题所在.
在job中, TEXTSIZE可能会是1024或512, 而不是缺省的4096字节或最大长度2,147,483,647.

但是仍有一点不明白, 是什么影响了job中textsize的值呢?我并没有在任何地方执行set textsize呀.
最后编辑www2002 最后编辑于 2010-03-22 10:32:08
 
1  /  1  页   1 跳转

版权所有 微软BI开拓者 

Powered by Discuz!NT 2.1.202    Copyright © 2001-2012 Comsenz Inc.
Processed in 0.1093792 second(s) , 4 queries.
返顶部