巧妙解決Oracle NClob讀寫問題(經(jīng)驗(yàn)分享)
最近一個(gè)新項(xiàng)目中,嘗試在 Oracle 數(shù)據(jù)庫中使用 NCLOB 來保存大的 xml 字符串。
在代碼自動(dòng)生成工具(通過 JDBC 驅(qū)動(dòng)程序,讀數(shù)據(jù)庫表結(jié)構(gòu),自動(dòng)生成對應(yīng)的 java 代碼,包含增加、刪除、修改、分頁查詢、根據(jù)主鍵查找等前臺(tái) html/js、后臺(tái)代碼 java),將 NCLOB 字段映射到 String 類型。
運(yùn)行代碼,無報(bào)錯(cuò)。使用 SQuirreL SQL 客戶端查看數(shù)據(jù),覺察數(shù)據(jù)未保存成功。
網(wǎng)上搜一通,有提到用 SetBigStringTryClob 的數(shù)據(jù)庫連接額外屬性的??傆X得好傻。也有提到用 setStringForClob 方法的,也比較笨。
最后在 Oracle 官網(wǎng)上,找到一個(gè)更好的辦法:
升級(jí) Oracle JDBC 驅(qū)動(dòng)程序,直接用 java JDBC 標(biāo)準(zhǔn)的 setString 函數(shù),保存成功!
對應(yīng)網(wǎng)址:
http://docs.oracle.com/cd/E11882_01/java.112/e16548/oralob.htm#JJDBC28534
里面提到:
In Oracle Database 11g release 2 (11.2), the setBytes, setBinaryStream, setString, setCharacterStream, and setAsciiStream methods of PreparedStatement are extended to enhance the ability to work with BLOB, CLOB, and NCLOB target columns.
...
The SetBigStringTryClob connection property of Oracle Database 10g Release 1 (10.1) is no longer used or needed.
...
----------------------------
以上這篇巧妙解決Oracle NClob讀寫問題(經(jīng)驗(yàn)分享)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
oracle 監(jiān)聽 lsnrctl 命令 (推薦)
這篇文章主要介紹了oracle 監(jiān)聽 lsnrctl 命令 ,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-0345個(gè)非常有用的 Oracle 查詢語句小結(jié)
這里我們介紹的是 40+ 個(gè)非常有用的 Oracle 查詢語句,主要涵蓋了日期操作,獲取服務(wù)器信息,獲取執(zhí)行狀態(tài),計(jì)算數(shù)據(jù)庫大小等等方面的查詢。這些是所有 Oracle 開發(fā)者都必備的技能,所以快快收藏吧2014-04-04Oracle存儲(chǔ)過程返回游標(biāo)實(shí)例詳解
Oracle存儲(chǔ)過程返回游標(biāo)有兩種實(shí)現(xiàn)方法一種是聲明系統(tǒng)游標(biāo),一種是聲明自定義游標(biāo),本文將詳細(xì)介紹,需要了解的朋友可以參考下2012-12-12CMD操作oracle數(shù)據(jù)導(dǎo)庫過程圖解
這篇文章主要介紹了CMD操作oracle數(shù)據(jù)導(dǎo)庫過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Linux中Oracle啟動(dòng)偵聽報(bào)錯(cuò)TNS:permission denied的解決方法
這篇文章主要介紹了Linux中Oracle啟動(dòng)偵聽時(shí)報(bào)錯(cuò)TNS:permission denied的解決方法,文中給出了詳細(xì)的解決方法,相信對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-02-02oracle 合并查詢 事務(wù) sql函數(shù)小知識(shí)學(xué)習(xí)
oracle 合并查詢 事務(wù) sql函數(shù)小知識(shí)學(xué)習(xí),需要的朋友可以參考下2012-12-12Oracle 11g實(shí)現(xiàn)安全加固的完整步驟
這篇文章主要給大家介紹了關(guān)于Oracle 11g實(shí)現(xiàn)安全加固的完整步驟,文中通過示例代碼將實(shí)現(xiàn)的步驟一步步介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Oracle 11g具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05Oracle數(shù)據(jù)庫scott用戶創(chuàng)建view視圖權(quán)限的操作方法
這篇文章主要介紹了Oracle數(shù)據(jù)庫scott用戶創(chuàng)建view視圖權(quán)限的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Oracle 11g收集多列統(tǒng)計(jì)信息詳解
我們在寫SQL語句的時(shí)候,有的時(shí)候會(huì)碰到where子句后面有多個(gè)條件的情況,也就是根據(jù)多列的條件篩選得到數(shù)據(jù)。下面這篇文章主要給大家介紹了Oracle 11g收集多列統(tǒng)計(jì)信息的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下。2017-03-03