CLOBデータ型

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�型

java.sql.Clob

JDBC メタデータ�型(java.sql.Types)

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);
        }
    }
}