Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie kann ich große Datenmengen aus einer Datenbank in XML speichern (Speicherproblem)?

Warum nicht alle Daten in eine Datei schreiben und die Datei mit der Option "Anhängen" öffnen? Es ist nicht erforderlich, alle Daten in der Datei einzulesen, wenn Sie nur darauf schreiben.

Dies könnte jedoch eine bessere Lösung sein:

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();

Der BufferedOutputStream puffert die Daten vor dem Drucken, und Sie können die Puffergröße im Konstruktor angeben, wenn der Standardwert nicht Ihren Anforderungen entspricht. Einzelheiten finden Sie in der Java-API:http://java.sun.com/javase /6/docs/api/ .