Java : Manage CLOB in oracle 10G

เนื่องจากมีข้อมูลในตารางบางส่วนที่จัดเก็บ ข้อมูลชนิด CLOB ซึ่งแต่ไหนแต่ไรการจัดการข้อมูลข้อมูลชนิดนี้ ค่อนข้างยากครับ ทั้งการบันทึกข้อมูล, การ query ข้อมูล แต่สำหรับ Oracle 10G และ Oracle JDBC ตัวใหม่ช่วยแก้ปัญหานี้ให้สามารถทำงานกับ CLOB ได้อย่างง่ายโดยแค่ Set Properties ของ JDBC ด้วยค่าดังนี้

private Connection getConnection() {
	Connection conn = null;
	try {
		String url = "jdbc:oracle:thin:@localhost:1521:XE";
		Properties props = new Properties();
		props.put("user", "TRAM");
		props.put("password", "password");
		props.put("SetBigStringTryClob", "true");
			
		Class.forName("oracle.jdbc.OracleDriver");
		conn = DriverManager.getConnection(url, props);
		
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		e.printStackTrace();
	}

	return conn;
}

Properties ที่สำหคัญก็คือ บรรทัดนี้

props.put("SetBigStringTryClob", "true");

แค่นี้ก็สามารถจัดการข้อมูล CLOB แบบ String ธรรมดาได้แล้วครับ นั่นก็คือ ตอนบันทึกก็สามารถ Set ค่า String ได้เลย และต้อง Get ออกมาก็แค่ Get String ธรรมดาเหมือน column ที่เป็น VARCHAR ทั่วๆไป
อ้่างอิงจาก
Handling CLOBs – Made easy with Oracle JDBC 10g
Manage CLOB

  1. No comments yet.

  1. No trackbacks yet.