Java วิธี Query Field CLOB จาก Oracle
ตัวอย่างการ Query field CLOB จาก Oracle ด้วย Java
ก่อนอื่นเราก็ select ข้อมูลด้วย JDBC ปรกตินะครับ เช่น
select f_clob from test_clob
พอได้ข้อมูลที่เป็น clob ออกมาจาก result set แล้วมันยังไม่เป็น String นะครับ
นอกซะจากเราจะแปลมาก่อนจาก SQL เช่นใช้คำสั่ง พวก dbms_lob.substr(f_clob)
แต่ถ้าไม่ได้แปลงค่าอะไรเราก็จะได้ข้อมูลออกมาเป็น clob ครับ
ซึ่งจะต้องเอามาทำการแปลงค่าก่อน ด้วย function ตัวอย่าง ประมาณนี้
public static String clobToStr(Clob clobField) {
InputStream inptSrm = null;
String strClobToStr = "";
try {
if (clobField != null) {
inptSrm = null;
inptSrm = clobField.getAsciiStream();
StringBuffer strBuffClob = new StringBuffer();
int chr;
while ((chr = inptSrm.read()) != -1) {
strBuffClob.append((char) chr);
}
strClobToStr = strBuffClob.toString();
inptSrm.close();
}
} catch (Exception eException) {
}
return strClobToStr;
}
ตอนใช้งานเราก็ทำการเรียกใช้ function แล้วส่งค่า field CLOB เข้ามา