oracle clob字段導(dǎo)出 如何通過sql的insert語句插入大量字符串到oracle的clob字段?
如何通過sql的insert語句插入大量字符串到oracle的clob字段?當(dāng)通過insert語句直接插入大量字符串(主要是html的內(nèi)容),超過4000字符時(shí)候,就會(huì)報(bào):ORA-01489: 字符串
如何通過sql的insert語句插入大量字符串到oracle的clob字段?
當(dāng)通過insert語句直接插入大量字符串(主要是html的內(nèi)容),超過4000字符時(shí)候,就會(huì)報(bào):ORA-01489: 字符串連接的結(jié)果過長雖然字段是clob,足以存儲(chǔ),但是通過這種直接插入的時(shí)候,因?yàn)闆]有強(qiáng)制指定帶插入字符串為clob類型,oracle會(huì)把插入的字符串作為 “字符串類型”處理,由于oracle有最大字符串限制(不超過4000個(gè)字符),所以會(huì)報(bào)錯(cuò)。解決思路:指定待插入字符串類型為clob,可以使用過程或存儲(chǔ)過程例子:DECLARE REALLYBIGTEXTSTRING CLOB := "待插入的海量字符串"BEGIN INSERT INTO test_table VALUES("test", REALLYBIGTEXTSTRING, "0")end /commit這樣就可以解決問題。補(bǔ)充:java的jdk對(duì)這種情景有通過l流的方式處理,因此比較方便。 另外:插入html內(nèi)容,可能含有空格 ,字符&是oracle的關(guān)鍵字,因此插入之前要轉(zhuǎn)義 如:"||chr(38)||"nbsp