CLOB Tipo de dado CLOB

O valor CLOB (objeto grande caractere) pode ter comprimento de até 2.147.483.647 caracteres. O CLOB é utilizado para armazenar dados baseados em caractere UNICODE, como documentos grandes em qualquer conjunto de caracteres.

O comprimento do CLOB é especificado em caracteres, a menos que seja especificado um dos sufixos K, M ou G, relacionados aos múltiplos 1024, 1024*1024 e 1024*1024*1024, respectivamente.

O comprimento do CLOB é especificado em caracteres (UNICODE).
Sintaxe {CLOB |CHARACTER LARGE OBJECT}(comprimento [{{K |M |G}]))

Tipo Java correspondente em tempo de compilação

java.sql.Clob

Tipo do metadado do JDBC (java.sql.Types)

CLOB

Tipo do metadado do JDBC

java.sql.Clob

Tipo do metadado do JDBC (java.sql.Types)

CLOB

No java.sql.ResultSet é utilizado o método getClob para obter um tratador de CLOB para os dados subjacentes.

Informação relacionada

Consulte .

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(); // --- adicionar um arquivo java.io.File file = new java.io.File("asciifile.txt"); int fileLength = (int) file.length(); // - primeiro, criar um fluxo de entrada java.io.InputStream fin = new java.io.FileInputStream(file); PreparedStatement ps = conn.prepareStatement("INSERT INTO documents VALUES (?, ?)"); ps.setInt(1, 1477); // - definir o valor do parâmetro de entrada para o fluxo de entrada ps.setAsciiStream(2, fin, fileLength); ps.execute(); conn.commit(); // --- ler as colunas 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("Erro! "+e); } } }