文章出處

最近一個新項目中,嘗試在 Oracle 數據庫中使用 NCLOB 來保存大的 xml 字符串。

在代碼自動生成工具(通過 JDBC 驅動程序,讀數據庫表結構,自動生成對應的 java 代碼,包含增加、刪除、修改、分頁查詢、根據主鍵查找等前臺 html/js、后臺代碼 java),將 NCLOB 字段映射到 String 類型。

運行代碼,無報錯。使用 SQuirreL SQL 客戶端查看數據,覺察數據未保存成功。

網上搜一通,有提到用 SetBigStringTryClob  的數據庫連接額外屬性的。總覺得好傻。也有提到用 setStringForClob 方法的,也比較笨。

 

最后在 Oracle 官網上,找到一個更好的辦法:

升級 Oracle JDBC 驅動程序,直接用 java JDBC 標準的 setString 函數,保存成功!

 

對應網址:

http://docs.oracle.com/cd/E11882_01/java.112/e16548/oralob.htm#JJDBC28534

里面提到:

In Oracle Database 11g release 2 (11.2), the setBytessetBinaryStreamsetStringsetCharacterStream, and setAsciiStream methods of PreparedStatement are extended to enhance the ability to work with BLOBCLOB, and NCLOB target columns.

...

The SetBigStringTryClob connection property of Oracle Database 10g Release 1 (10.1) is no longer used or needed.

 

...

----------------------------

轉發請注明出處。當心我晚上變大灰狼來摸你肚子喲。我是 jacklondon , at , cnblogs.com. 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()