sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo puedo almacenar una gran cantidad de datos de una base de datos en XML (problema de memoria)?

¿Por qué no escribir todos los datos en un archivo y abrir el archivo con la opción "agregar"? No es necesario leer todos los datos del archivo si solo va a escribir en él.

Sin embargo, esta podría ser una mejor solución:

PrintWriter writer = new PrintWriter(new BufferedOutputStream(new FileOutputStream("data.xml")));

while(rs.next()){
    i++;
    writer.print("\n\t<row>");
    writer.print("\n\t\t<ID>" + Util.transformToHTML(rs.getInt("id")) + "</ID>");
    writer.print("\n\t\t<JED_ID>" + Util.transformToHTML(rs.getInt("jed_id")) + "</JED_ID>");
    writer.print("\n\t\t<IME_PJ>" + Util.transformToHTML(rs.getString("ime_pj")) + "</IME_PJ>");
    //...

    writer.print("\n\t</row>");
}

writer.close();

BufferedOutputStream almacenará en búfer los datos antes de imprimirlos, y puede especificar el tamaño del búfer en el constructor si el valor predeterminado no se ajusta a sus necesidades. Consulte la API de Java para obtener más detalles:http://java.sun.com/javase /6/docs/api/ .