miércoles, 9 de mayo de 2012

Insertar un CLOB con Java (Oracle y H2)

En realidad es la misma manera

Imaginemos que tenemos una tabla creada como sigue:

create table tablita
(
     campito clob
) ;

Si desde java queremos insertarle un dato hay que hacer lo siguiente:

Suponiendo que tenemos una conexion de tipo java.sql.Connection  que apunta a un H2 o a un Oracle.

        String texto = .... // aqui iria una cadena muy larga que tenemos en memoria

        lector = new StringReader(texto);  // aquí se abre un InputStream con la cadena que esta en memoria
        PreparedStatement ps= conexion.prepareStatement("insert into tablita (campito, ?)");
        ps.setCharacterStream(1, lector, texto.length());
        ps.execute();

Y listo no hay que hacer otra cosa, el código ya no depende de si es un Oracle o un H2.





1 comentario:

  1. Hola oye una pregunta, "la cadena muy larga que se tiene en memoria" qué es ? , la dirección de la foto o dato que queremos insertar o qué ? en el caso de que sea lo anterior, de donde la sacamos ? o como la generamos

    ResponderEliminar