SET TEXTSIZE
指定由 SELECT 语句返回的 text 和 ntext 数据的大小。语法
SET TEXTSIZE { number } 参数
number是 text 数据的大小(一个整数),以字节为单位。SET TEXTSIZE 的最大设置为 2 GB(以字节为单位指定)。设置值为 0 时将大小重置为默认值 (4 KB)。注释
设置 SET TEXTSIZE 会影响 @@TEXTSIZE 函数。DB-Library 变量 DBTEXTLIMIT 也限制由 SELECT 语句返回的 text 数据大小。如果将 DBTEXTLIMIT 设置为小于 TEXTSIZE 的大小,将只返回 DBTEXTLIMIT 所指定的数量。有关更多信息,请参见 SQL Server 联机丛书中的"用于 C 语言的 DB-Library 程序设计"。SQL Server ODBC 驱动程序和用于 SQL Server 的 Microsoft OLE DB 提供程序在连接时自动将 TEXTSIZE 设置为 2147483647。SET TEXTSIZE 的设置是在执行或运行时设置,而不是在分析时设置。权限
SET TEXTSIZE 权限默认授予所有用户。

解决方案 »

  1.   

    不会的,select不出来,你可以用print出来,
    你用:declare @a varchar(8000),@b varchar(8000)
    set @a='select ca,ab,ac,dd,ee,af,dg,hh,cj,dk,al,asd, from asd,fa,sd,fa,sd,fa,sd,fgs,df,gsd,fgsd,fgs,dfa,sdfas,dfa,sasd,f where a=a,b=b,c=c,d=d,e=e,.....'
    exec(@a+@b) 都可以你调试的时候:
    declare @a varchar(8000)
    set @a='select ca,ab,ac,dd,ee,af,dg,hh,cj,dk,al,asd, from asd,fa,sd,fa,sd,fa,sd,fgs,df,gsd,fgsd,fgs,dfa,sdfas,dfa,sasd,f where a=a,b=b,c=c,d=d,e=e,.....'print @a就可以看到所有的字符了。
      

  2.   

    不行啊,256个字符正好到where后的第一个条件"="这点,后面的就说列名错误,郁闷列名怎会有错?还是字符串太长了谁有解决方法啊?
      

  3.   

    仅仅是显示(select @a)的话更改你的查询分析器选项->结果->每列最多字符数为8000就可以
    执行的话exec(@a)应该没有问题
    注意declare @a varchar(8000)