我需要在客户数据库上更新几个(8)clob列。这些clobs包含报告的XML结构,它们可以运行。新的XML结构长度超过32K字符。最小的是33,786个字符。
在查看几个问题时,我并没有真正找到我想要做的答案。
overcome 32k limit when inserting oracle clob IN parameter using spring StoredProcedure
string literal too long - how to assign long xml data to clob data type in oracle 11g r2
How to insert/update larger size of data in the Oracle tables?
第二和第四个问题似乎接近我的答案。我还简要地研究了dbms_lob
包,但我不知道我是否可以使用这些功能......
我需要遵循的过程:我将拥有所有8个新的字符串xml结构,并且我需要创建sql文件中的更新脚本。然后将这些文件插入到CLOB列中的客户数据库中。然后通过execute语句将clob拉出并在数据库中执行。
我所要做的就是为列创建更新脚本。其他一切已经到位,效果非常好。我不能改变这个过程,所以这不是一个选择。
这对我来说最简单的方法是什么?是否正在创建一个临时LOB并在第二个问题中回答数据?是以某种方式将xml结构分块并将其附加到clob中?
我接受它我将不得不做一些hacky奇怪的东西来完成这个,因为它看起来不像我有一个简单的一行解决方案。我只是需要一些帮助来解决这个问题......
答案 0 :(得分:0)
根据我的理解,您需要更新文件中某处的大块XML(或更新脚本,无论您如何调用它)到CLOB列中 - 是吗? 如果你不需要处理XML并且只是将它们放入数据库中,你可以使用oracle的quote操作符(我找不到oracle dos,但是这里解释得很漂亮):
http://www.adp-gmbh.ch/ora/sql/q.html
基本上你只需要将全文XML数据放入括号中,如文章所述:)