日期:2014-05-17  浏览次数:20424 次

请教一个ntext的问题
请问sqlserver里有没有类似于oracle的DBMS_LOB.LOADCLOBFROMFILE可以直接从一个文件中将数据读到ntext类型中区(oracle可以直接读到clob里)

如果没有,我像问一下该怎么去update这个ntext字段,想把原来的内容替换成新的内容
高位大侠们帮我提供些思路啊

------解决方案--------------------
修改 ntext、text 或 image 值
可通过下列方式修改 ntext、text 或 image 值: 

使用数据库 API(例如 ADO、OLE DB 或 ODBC)执行 UPDATE 或 INSERT 语句,并将程序变量与 ntext、text 或 image 列的参数标记绑定。然后调用相应的数据库 API 函数,逐块向数据库发送长数据。DB-Library 支持与其 text 和 image 函数相同的功能。


使用 WRITETEXT 语句重写该列的整个数据值。 
例如,以下查询将更改 New Moon Books 中 pr_info 列的内容:

USE pubs
sp_dboption 'pubs', 'select into/bulkcopy', 'true'
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(pr_info) 
FROM pub_info pr INNER JOIN publishers p
ON p.pub_id = pr.pub_id 
AND p.pub_name = 'New Moon Books'
WRITETEXT pub_info.pr_info @ptrval 'New Moon Books (NMB) '
sp_dboption 'pubs', 'select into/bulkcopy', 'true'

使用 UPDATETEXT 语句更新 ntext、text 或 image 列的特定数据块。 
例如,以下查询用字母 z 取代 New Moon Books 中 text 列的第 88 个字符(Moon 中的第二个字母 o):

USE pubs
sp_dboption 'pubs', 'select into/bulkcopy', 'true'
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(pr_info) 
FROM pub_info pr INNER JOIN publishers p
ON p.pub_id = pr.pub_id 
AND p.pub_name = 'New Moon Books'
UPDATETEXT pub_info.pr_info @ptrval 88 1 'z' 
sp_dboption 'pubs', 'select into/bulkcopy', 'false'


------解决方案--------------------
修改NTEXT字段很不爽的

可以将字段修改成VARCHAR(MAX)就好进行各种操作了。
------解决方案--------------------
探讨

修改NTEXT字段很不爽的

可以将字段修改成VARCHAR(MAX)就好进行各种操作了。

------解决方案--------------------
如果是2000以后的版本,建议使用VARCHAR(MAX),或是NVARCHAR(MAX)