说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请问各位高手怎样用asp向oracle9i的clob字段里增加数据!在线等

编辑:说三道四文库 发布时间:2018-04-26 02:20
HTML文档下载 WORD文档下载 PDF文档下载
我向clob类型的字段里插入较多的内容时就会报错:

我的sql语句是:

insert into (mess) values ('"&mess&"')

出错信息如下:

/iisHelp/common/500-100.asp,行242 

OraOLEDB 错误 '80040e14' 

ORA-01704: 文字字符串过长 


请问如何解决?多谢了!
先问一下clob和blob有什么区别?
如果mess是clob类型的字段,代码如下
mess = request("mess")
sql = "select mess from Table where ....."
rs.open sql,conn,3,3
rs("mess").appendchunk(mess)
rs.update
我原来往long类型的存的时候,用的是数据流吧。不知道一样不一样。一样的话,给你代码,不好找,呵呵。
最好用另一个表的varchar2来搞定它,结构:id number(10),content varchar2(4000)

好处是与一般操作一样,速度快得多
'写入CLOB内容
'传递要更新的记录的ID及要插入的值
function write_clob(clob_id,clb_value)
sql0="update asm_clob set clb_content=empty_clob() where clb_id='"&clob_id&"'"
cn.executesql(sql0)

sql0 = "select clb_content from asm_clob where clb_id = '" & clob_id & "'"

Set rs0 = cn.CreateDynaset(sql0, 0)
Set infoClob = rs0.Fields("clb_content").Value
chunk = clb_value
chunksize = Len(chunk) 

rs0.Edit 
infoClob.offset = 1
amount_written = infoClob.Write(chunk, chunksize)
rs0.Update 
rs0.close
Set infoClob = nothing
end function
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘