以下为联机帮助:
WRITETEXT
允许对现有的 text、ntext 或 image 列进行无日志记录的交互式更新。该语句将彻底重写受其影响的列中的任何现有数据。WRITETEXT 语句不能用在视图中的 text、ntext 和 image 列上。语法
WRITETEXT { table.column text_ptr }
    [ WITH LOG ] { data }参数
table.column要更新的表和 text、ntext 或 image 列的名称。表名和列名必须符合标识符的规则。有关更多信息,请参见使用标识符。指定数据库名和所有者名是可选的。text_ptr指向 text、ntext 或 image 数据的指针的值。text_ptr 的数据类型必须为 binary(16)。若要创建文本指针,请对 text、ntext 或 image 列用非 NULL 数据执行 INSERT 或 UPDATE 语句。有关创建文本指针的更多信息,请参见 INSERT 或 UPDATE。 WITH LOG在 Microsoft® SQL Server™ 2000 中忽略。日志记录由数据库的实际恢复模型决定。data要存储的实际 text、ntext 或 image 数据。data 可以是字面值,也可以是变量。对于 text、ntext 和 image 数据,可以用 WRITETEXT 交互插入的文本的最大长度大约是 120 KB。 注释
请使用 WRITETEXT 来替换 text、ntext 和 image 数据,而用 UPDATETEXT 来修改 text、ntext 和 image 数据。UPDATETEXT 更灵活,因为它仅更改 text、ntext 或 image 列的某一部分,而不是整个列。如果数据库恢复模型简单或有大容量日志记录,则 WRITETEXT 是无日志记录的操作。这就意味着在将 text、ntext 或 image 数据写入数据库时,不会进行日志记录;因此,事务日志不会填满大量通常由这些数据类型组成的数据。为使 WRITETEXT 正常工作,列必须已经包含有效的文本指针。 如果该表没有行内文本,则在通过 INSERT 向 text 列中放入显式或隐式空值时,SQL Server 不初始化 text 列,从而节省了空间,而且不能获取这类空值的文本指针。若要将 text 列初始化为 NULL,请使用 UPDATE 语句。如果该表有行内文本,就没有必要为空值初始化文本列,而且您始终可以获取文本指针。与 WRITETEXT 相比,DB-Library dbwritetext 和 dbmoretext 函数以及 ODBC SQLPutData 函数速度较快且使用的动态内存较少。这些函数可以插入多达 2G 字节的 text、ntext 或 image 数据。在 SQL Server 2000 中,可能存在指向 text、ntext 或 image 数据的行内文本指针,但这些指针无效。有关 text in row 选项的信息,请参见 sp_tableoption。有关使文本指针无效的信息,请参见 sp_invalidate_textptr。权限
WRITETEXT 的权限默认地授予那些对指定的表拥有 SELECT 权限的用户。这些权限可在传递 SELECT 权限时传递。示例
下例将文本指针放到局部变量 @ptrval 中,然后 WRITETEXT 将新的文本字符串放到 @ptrval 所指向的行中。USE pubs
GO
EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'
GO
DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(pr_info) 
FROM pub_info pr, publishers p
WHERE p.pub_id = pr.pub_id 
   AND p.pub_name = 'New Moon Books'
WRITETEXT pub_info.pr_info @ptrval 'New Moon Books (NMB) has just released another top ten publication. With the latest publication this makes NMB the hottest new publisher of the year!'
GO
EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'false'
GO

解决方案 »

  1.   

    text可以保存2G的数据添加不成功,应该检查你的处理方法.你是怎么处理的?
      

  2.   

    错误提示是什么? insert插入的数据从那里获取的?
      

  3.   

    用最普通的INSERT INTO处理的数据来源于表格提交的textarea谢谢大家
      

  4.   

    你是在程序中获取的表格提交的textarea吧? 那样组合出的sql语句应该是有问题的,建议你在程序中的话,直接用adodb.stream对象来处理.
      

  5.   

    对text内型的字段,不能用insert,update等常用语句,它有特殊的操作模式
    如:writetext
      

  6.   

    我后来干脆不做数据库操作了直接提交了然后在处理页面用
    Response.Write(Request.Form("legal_content"))
    response.End()把提交的大数据显示出来,结果报错错误类型:
    请求对象, ASP 0107 (0x80020009)
    处理中的数据超过允许的极限。
    /admin/legal_pubs.asp这个好象和数据库就没太大关系了,跟字段容量也没什么关系了到底是什么问题啊,急死啊