CLOB(ã‚ャラクタラージオブジェクト)ã?®å€¤ã?¯ã€?最大ã?§2,147,483,647ã?®æ–‡å—é•·ã?¨ã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚CLOBã?¯ãƒ¦ãƒ‹ã‚³ãƒ¼ãƒ‰ã?®æ–‡å—æƒ…å ±ã‚’è¨˜éŒ²ã?™ã‚‹ã?¨ã??使ã?†ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚ã?“ã?®ã‚ˆã?†ã?ªæƒ…å ±ã?«ã?¯æ§˜ã€…ã?ªæ–‡å—ã?‹ã‚‰ã?ªã‚‹ã‚µã‚¤ã‚ºã?®å¤§ã??ã?ªæ–‡æ›¸ã?ªã?©ã?Œè€ƒã?ˆã‚‰ã‚Œã?¾ã?™ã€‚
CLOBã?®é•·ã?•ã?¯æ•°ã?§ä¸Žã?ˆã‚‰ã‚Œã?¾ã?™ã€‚ã‚‚ã?—Kã€?Mã‚„Gã?Œæ•°ã?®ã‚µãƒ•ィックスã?«ä¸Žã?ˆã‚‰ã‚Œã?Ÿå ´å?ˆã?¯ã€?ã??れã?žã‚Œ1024ã€?1024*1024ã€?1024*1024*1024ã‚’æ„?味ã?—ã?¾ã?™ã€‚
CLOBã?®é•·ã?•ã?¯(ユニコードã?®)æ–‡å—æ•°ã‚’ã?‚らã‚?ã?—ã?¾ã?™ã€‚{CLOB |CHARACTER LARGE OBJECT} [ ( é•·ã?• [{K |M |G}] ) ]
é•·ã?•を指定ã?—ã?ªã?„å ´å?ˆã€?CLOBã?®é•·ã?•ã?¯2ギガ(2,147,483,647)ãƒ?イトã?¨ã?ªã‚Šã?¾ã?™ã€‚
java.sql.Clob
CLOB
CLOBã?¸ã?®ãƒ?ンドルをå?–å¾—ã?™ã‚‹ã?«ã?¯ã€?java.sql.ResultSetã?«ã?‚ã‚‹getClobメソッドを使ã?£ã?¦ã??ã? ã?•ã?„。
java.sql.Blobインターフェイスã?¨java.sql.Clobインターフェイスã?®å¯¾å¿œã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。
import java.sql.*; public class clob { public static void main(String[] args) { try { String url = "jdbc:derby:clobberyclob;create=true"; Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance(); Connection conn = DriverManager.getConnection(url); Statement s = conn.createStatement(); s.executeUpdate("CREATE TABLE documents (id INT, text CLOB(64 K))"); conn.commit(); // --- ãƒ•ã‚¡ã‚¤ãƒ«ã‚’è¿½åŠ ã?™ã‚‹ã€‚ java.io.File file = new java.io.File("asciifile.txt"); int fileLength = (int) file.length(); // - 最åˆ?ã?«å…¥åŠ›ã‚¹ãƒˆãƒªãƒ¼ãƒ ã‚’ä½œæˆ?ã?™ã‚‹ã€‚ java.io.InputStream fin = new java.io.FileInputStream(file); PreparedStatement ps = conn.prepareStatement("INSERT INTO documents VALUES (?, ?)"); ps.setInt(1, 1477); // - 入力パラメータã?®å€¤ã‚’入力ストリームã?«ã?™ã‚‹ã€‚ ps.setAsciiStream(2, fin, fileLength); ps.execute(); conn.commit(); // --- 列をèªã‚€ã€‚ ResultSet rs = s.executeQuery("SELECT text FROM documents WHERE id = 1477"); while (rs.next()) { java.sql.Clob aclob = rs.getClob(1); java.io.InputStream ip = rs.getAsciiStream(1); int c = ip.read(); while (c > 0) { System.out.print((char)c); c = ip.read(); } System.out.print("\n"); // ... } } catch (Exception e) { System.out.println("Error! "+e); } } }