在SQL事件探查器里面看到程序访问数据库时频繁用一个 SET TEXTSIZE 2147483646 函数,不知道问什么要用这个函数,查资料知道这个是改变字段默认文档大小用的,但是记录中根本不会有123456789这么大的文档(表的约束已经控制了)为什么还要用这个函数?还有用ADO如何实现对这个函数的调用?

解决方案 »

  1.   

    应该是 ODBC 的高级选项中有设置。说明该程序频繁进行数据库的连接、断开,烂!
      

  2.   

    //SET TEXTSIZE 2147483646 有個字段是text類型,用這個可以設置字符串的長度,它的最大長度2147483646
      

  3.   

    是设置SQL SERVER数据库中TEXT字段类型的最大值,设置一次就够了,不用每次都设置,你可以检查一下你的程序,估计是程序中频繁设置所致!!
      

  4.   

    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 权限默认授予所有用户。-----
    要用ADO如何实现对这个函数的调用? '其实这不是函数,只能称得上是设置语句
    可以把该语句写到存储过程中去,再调用它