CLOB 定義
數據庫中的一種保存文件所使用的類型。
Character Large Object
SQL 類型 CLOB 在 JavaTM 編程語言中的映射關系。SQL CLOB 是內置類型,它將字符大對象 (Character Large Object) 存儲為數據庫表某一行中的一個列值。默認情況下,驅動程序使用 SQL locator(CLOB) 實現 Clob 對象,這意味着 CLOB 對象包含一個指向 SQL CLOB 數據的邏輯指針而不是數據本身。Clob 對象在它被創建的事務處理期間有效。
在一些數據庫系統里,也使用Text 作為CLOB的別名,比如SQL Server
BLOB的含義
BLOB (binary large object),二進制大對象,是一個可以存儲二進制文件的容器。
在計算機中,BLOB常常是數據庫中用來存儲二進制文件的字段類型。
BLOB是一個大文件,典型的BLOB是一張圖片或一個聲音文件,由於它們的尺寸,必須使用特殊的方式來處理(例如:上傳、下載或者存放到一個數據庫)。
根據Eric Raymond的說法,處理BLOB的主要思想就是讓文件處理器(如數據庫管理器)不去理會文件是什么,而是關心如何去處理它。
但也有專家強調,這種處理大數據對象的方法是把雙刃劍,它有可能引發一些問題,如存儲的二進制文件過大,會使數據庫的性能下降。在數據庫中存放體積較大的多媒體對象就是應用程序處理BLOB的典型例子。
CLOB和BLOB的區別
CLOB使用CHAR來保存數據。 如:保存XML文檔。
BLOB就是使用二進制保存數據。 如:保存位圖。
簡單來說:
BLOB和CLOB都是大字段類型,BLOB是按二進制來存儲的,而CLOB是可以直接存儲文字的。其實兩個是可以互換的的,或者可以直接用LOB字段代替這兩個。
但是為了更好的管理ORACLE數據庫,通常像圖片、文件、音樂等信息就用BLOB字段來存儲,先將文件轉為二進制再存儲進去。
而像文章或者是較長的文字,就用CLOB存儲,這樣對以后的查詢更新存儲等操作都提供很大的方便。
JAVA 實現CLOB轉String
Clob clob = (Clob) answerInfoMap.get("ANSWER") ;
String answer ="";
if(clob != null){
try {
answer = clob.getSubString((long)1,(int)clob.length());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}