sql >> Database >  >> RDS >> Oracle

Hoe kan ik grote hoeveelheden data uit een database opslaan in XML (geheugenprobleem)?

Waarom niet alle gegevens naar één bestand schrijven en het bestand openen met de optie "toevoegen"? Het is niet nodig om alle gegevens in het bestand in te lezen als u er alleen naar gaat schrijven.

Dit kan echter een betere oplossing zijn:

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

De BufferedOutputStream buffert de gegevens voordat ze worden afgedrukt, en u kunt de buffergrootte in de constructor opgeven als de standaardwaarde niet aan uw behoeften voldoet. Zie de Java API voor details:http://java.sun.com/javase /6/docs/api/ .



  1. PostgreSQL-database herstellen met java

  2. Bel mysql geneste/innerlijke functies in querydsl

  3. Pentaho Data Integration (nieuwste versie) - MySQL-stuurprogramma wordt niet gedetecteerd

  4. Waarom retourneert deze sql-query geen resultaten waarin getallen met drijvende komma worden vergeleken?