2013-09-25 57 views
1

我想用HTML更新Oracle DB中的BLOB列。 我正在使用Oracle Oracle數據庫11g版本11.2.0.3.0如何更新包含HTML代碼的Oracle中的BLOB列

該列包含將在JSP Servlet的前端使用的HTML代碼。單元的含量應低於代碼被更新

<table width="100%" border="0" cellspacing="0"> 
<tbody> 
    <tr> 
     <td height="130">&nbsp;</td> 
    </tr> 
    <tr> 
     <td height="130">&copy; 2013</td> 
    </tr> 
</tbody> 
</table> 

上面的代碼是formatted.The整個事情是單line.Now當我執行更新查詢作爲低於其示出了消息

UPDATE TemplateTbl 
    SET TemplateConetent = (RAWTOHEX (UTL_RAW.cast_to_raw ('<table width="100%" border="0" cellspacing="0"><tbody><tr><td height="130">&nbsp;</td></tr><tr><td height="130">&copy; 2013</td></tr></tbody></table>'))) 
    WHERE TemplateId = TL2600 

現在是Oracle的要求,因爲©和 變量值如下

enter image description here

我已嘗試在&副本和& nbsp之前使用下劃線,反斜槓和百分比。但沒有任何工作。我該如何解決這個問題?

回答

2

HTML ist純文本,使用(N)CLOB。

3

1,SQL加或PLSQL命令窗口

set define off; 

UPDATE TemplateTbl 
    SET TemplateConetent = (RAWTOHEX (UTL_RAW.cast_to_raw ('<table width="100%" border="0" cellspacing="0"><tbody><tr><td height="130">&nbsp;</td></tr><tr><td height="130">&copy; 2013</td></tr></tbody></table>'))) 
    WHERE TemplateId = TL2600 
+0

謝謝你洙多爲你reply.Its working.But在生產服務器上,我不能使用設置定義了。 –

+0

@JavaBeginner - 使用'... =「130」>&'||'nbsp; ...'或'... =「130」>'|| chr(38)||'nbsp; '爲了避免'&'符號的魔法。 –