Diferencia entre revisiones de «CLOB de Oracle»

De Dos Ideas.
Saltar a: navegación, buscar
(CVFktOOQnOZlQ)
 
(No se muestra una edición intermedia de otro usuario)
Línea 1: Línea 1:
La clase [[Java]] del driver [[JDBC]] de [[Oracle]] '''oracle.sql.CLOB''' ofrece el método '''getCharacterOutputStream()''' que nos permite obtener un '''java.io.Writer''' para ir escribiendo directamente en la base. Incluso cuando los datos que se desean guardar son muchos se puede ir iterando y agregarlos de a poco. Hay que tener cuidado porque el '''Writer.append(String string)''' empieza a escribir en la primera posición de memoria cada vez que se obtiene el Writer.
+
Great stuff, you hleped me out so much!
 
 
Acá les dejo un pequeño ejemplo
 
<code java5> import java.io.Writer;
 
import java.sql.PreparedStatement;
 
import java.sql.ResultSet;
 
import java.sql.SQLException;
 
 
import oracle.sql.CLOB;
 
 
public class UnDaoImpl extends HibernateDaoSupport implements unDao {
 
 
public void inicializarReporte(Long idPeticion, Iterator<String> iteradorDeDatos) {
 
  String sqlConsulta = "SELECT ARCHIVO "
 
                      + "FROM TABLA_CON_ARCHIVO "
 
                      + "WHERE  ID_PETICION = "
 
                      + idPeticion
 
                      + " FOR UPDATE;";   
 
  try {
 
      PreparedStatement pstmt = getSession().connection()
 
                                  .prepareStatement(sqlConsulta);
 
      ResultSet rs = pstmt.executeQuery();
 
      rs.next();
 
      CLOB clob = (CLOB) rs.getClob(1);
 
      clobWriter = clob.getCharacterOutputStream();
 
     
 
      if (iteradorDeDatos.hasNext()){
 
        clobWriter.write(iteradorDeDatos.next());
 
 
        while (iteradorDeDatos.hasNext()) {
 
          clobWriter.append(iteradorDeDatos.next());
 
        }
 
      }     
 
 
 
  } finally {
 
    try {
 
        clobWriter.close();
 
    } catch (IOException e) {
 
        e.printStackTrace();
 
    }
 
  }
 
}
 
</code>
 
 
 
== Ver también ==
 
* [[Oracle]]
 
* [[Hibernate]]
 
* [[JDBC]]
 
* [http://www.oracle.com/technology/docs/tech/java/sqlj_jdbc/doc_library/javadoc/oracle.sql.CLOB.html Javadoc CLOB]
 
 
 
[[Category:Oracle]]
 
[[Category:Java]]
 

Revisión actual del 09:44 6 sep 2011

Great stuff, you hleped me out so much!