Oracle
 sql >> Database >  >> RDS >> Oracle

Come posso archiviare grandi quantità di dati da un database in XML (problema di memoria)?

Perché non scrivere tutti i dati in un file e aprire il file con l'opzione "aggiungi"? Non è necessario leggere tutti i dati nel file se si desidera semplicemente scrivervi.

Tuttavia, questa potrebbe essere una soluzione migliore:

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 eseguirà il buffer dei dati prima di stamparli e puoi specificare la dimensione del buffer nel costruttore se il valore predefinito non soddisfa le tue esigenze. Consulta l'API Java per i dettagli:http://java.sun.com/javase /6/docs/api/ .