Tecnología

Inicio

Cómo utilizar CLOB en Java



Puede ahora numerosas tareas completas a través de Java Database Connectivity (JDBC) Application Programming Interface (API) utilizando columnas CLOB base de datos. CLOB, que significa "Carácter objeto grande," es una herramienta de datos se utiliza para almacenar y recuperar grandes cantidades de datos de texto en formato de caracteres. Un CLOB es capaz de almacenar hasta 128 terabytes de datos de caracteres en la base de datos. Su total compatibilidad con Java hace que sea una opción preferida por muchos desarrolladores de software.

Instrucciones

1 Utilice el siguiente fragmento de código para crear un objeto CLOB, donde "RS" es un objeto ResultSet:

CLOB CLOB = rs.getClob (1);

La variable "clob" es ahora un operador funcional en el valor CLOB almacenada en la primera columna del conjunto de resultados "rs".

2 Introducir el siguiente código a su base de datos para ejecutar dos valores CLOB idénticos en una nueva tabla, que son capaces de contener 500 kilobytes de datos de texto redundante:

importar java.sql. *;

public class {PutGetClobs

void main (String [] args) public static

throws SQLException

{

// Register the native JDBC driver.

tratar {

Class.forName ( "com.ibm.db2.jdbc.app.DB2Driver");

} Catch (Exception e) {

System.exit (1); // Error de configuración.

}

// Establecer una conexión y la declaración con la que trabajar.

Conexión c = DriverManager.getConnection ( "jdbc: db2: * local»);

Declaración s = c.createStatement ();

// Limpiar cualquier ejecución anterior de esta solicitud.

tratar {

s.executeUpdate ( "DROP TABLE CUJOSQL.CLOBTABLE");

} Catch (SQLException e) {

// Ignóralo - asuma la tabla no existe.

}

// Crear una tabla con una columna CLOB. La columna CLOB predeterminado

// Tamaño es de 1 MB.

s.executeUpdate ( "CREATE TABLE CUJOSQL.CLOBTABLE (col1 CLOB)");

// Crear un objeto PreparedStatement que le permiten poner

// Un nuevo objeto Clob en la base de datos.

PreparedStatement ps = c.prepareStatement ( "insertar en los valores CUJOSQL.CLOBTABLE ()?");

// Cree un valor grande CLOB ...

tampón StringBuffer = new StringBuffer (500000);

while (buffer.length () & lt; 500.000) {

buffer.append ( "Todo el trabajo y nada de juego hacen Cujo un chico aburrido.");

}

Cadena clobValue = buffer.toString ();

// Establecer el parámetro PreparedStatement. Esto no es

// Portátil para todos los controladores JDBC. controladores JDBC no tienen

// Para apoyar setBytes de columnas CLOB. Esto se hace para

// Le permiten generar nuevas CLOBs. También

// Permite JDBC 1.0 conductores una manera de trabajar con columnas que contienen

// datos CLOB.

ps.setString (1, clobValue);

// Procesar la sentencia, la inserción de la CLOB en la base de datos.

ps.executeUpdate ();

// Procesar una consulta y obtener el CLOB que se acaba de insertar fuera de la

// Base de datos como un objeto CLOB.

ResultSet rs = s.executeQuery ( "SELECT * FROM CUJOSQL.CLOBTABLE");

rs.next ();

CLOB CLOB = rs.getClob (1);

// Poner que Clob de nuevo en la base de datos a través

// PreparedStatement.

ps.setClob (1, CLOB);

ps.execute ();

c.close (); // Estrecha relación también se cierra stmt y RS.

}

}

3 Inserte el siguiente código a su base de datos para cambiar el comportamiento de los objetos CLOB:

importar java.sql. *;

UpdateClobs clase pública {

void main (String [] args) public static

throws SQLException

{

// Register the native JDBC driver.

tratar {

Class.forName ( "com.ibm.db2.jdbc.app.DB2Driver");

} Catch (Exception e) {

System.exit (1); // Error de configuración.

}

Conexión c = DriverManager.getConnection ( "jdbc: db2: * local»);

Declaración s = c.createStatement ();

ResultSet rs = s.executeQuery ( "SELECT * FROM CUJOSQL.CLOBTABLE");

rs.next ();

CLOB clob1 = rs.getClob (1);

rs.next ();

CLOB clob2 = rs.getClob (1);

// Truncar un CLOB.

clob1.truncate ((largo) 150000);

System.out.println ( "nueva longitud de Clob1 es" + clob1.length ());

// Actualizar una parte de la CLOB con un nuevo valor de cadena.

Valor de la cadena = "Algunos nuevos datos para una vez";

int = charsWritten clob2.setString (500L, valor);

System.out.println ( "caracteres escritos es" + charsWritten);

// La bytes se puede encontrar en la posición 500 en clob2

larga startInClob2 = clob2.position (valor, 1);

System.out.println ( "patrón que se encuentra en la posición de partida" + startInClob2);

c.close (); // Estrecha relación también se cierra stmt y RS.

}

}

4 Aplicar el siguiente código para ejecutar CLOB en su base de datos. CLOB se cerrará por sí mismo después de realizar sus funciones se enumeran a continuación.

importar java.sql. *;

UseClobs clase pública {

void main (String [] args) public static

throws SQLException

{

// Register the native JDBC driver.

tratar {

Class.forName ( "com.ibm.db2.jdbc.app.DB2Driver");

} Catch (Exception e) {

System.exit (1); // Error de configuración.

}

Conexión c = DriverManager.getConnection ( "jdbc: db2: * local»);

Declaración s = c.createStatement ();

ResultSet rs = s.executeQuery ( "SELECT * FROM CUJOSQL.CLOBTABLE");

rs.next ();

CLOB clob1 = rs.getClob (1);

rs.next ();

CLOB clob2 = rs.getClob (1);

// Determinar la longitud de un LOB.

extremo largo clob1.length = ();

System.out.println ( "longitud Clob1 es" + clob1.length ());

// Cuando se trabaja con LOB, toda la indexación que se relaciona con ellas

// 1-se basa, y no basado en 0 como cadenas y matrices.

startingPoint largo = 450;

endingPoint largo = 50;

// Obtener parte del CLOB como una matriz de bytes.

Cadena outString = clob1.getSubString (startingPoint, (int) endingPoint);

System.out.println ( "subcadena Clob es" + outString);

// Localizar el punto donde un sub-CLOB o cadena se encuentra dentro de una primera

// CLOB. La configuración de este programa coloca dos copias idénticas de

// Un CLOB repitiendo en la base de datos. Por lo tanto, la posición de inicio de la

// Cadena extraída de clob1 se puede encontrar en el arranque

// Posición en clob2 si la búsqueda se inicia cerca de la posición en la que

// La cadena comienza.

larga startInClob2 = clob2.position (outString, 440);

System.out.println ( "patrón que se encuentra en la posición de partida" + startInClob2);

c.close (); // Estrecha relación también se cierra stmt y RS.

}

}

Consejos y advertencias

  • tutoriales en línea gratuitos están disponibles para Java y CLOB. Aprender tanto como sea posible para familiarizarse con estas tecnologías Web eficientes.
  • Aplicar código para realizar cambios en los objetos CLOB y ejecutar el elemento de CLOB sólo después de completar el programa "PutGetClobs" en su base de datos para mantener intactas todas sus tablas de datos.