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

Hvordan kan jeg gemme store mængder data fra en database til XML (hukommelsesproblem)?

Hvorfor ikke skrive alle data til én fil og åbne filen med "tilføj" muligheden? Der er ingen grund til at læse alle data i filen ind, hvis du bare skal skrive til den.

Dette kan dog være en bedre løsning:

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 vil buffere dataene, før de udskrives, og du kan angive bufferstørrelsen i konstruktøren, hvis standardværdien ikke passer til dine behov. Se java API for detaljer:http://java.sun.com/javase /6/docs/api/ .



  1. Sådan fjerner du førende og efterfølgende hvidt mellemrum i SQL Server - TRIM()

  2. Kunne ikke indlæse filen eller samlingen 'Oracle.ManagedDataAccess.EntityFramework

  3. Hvordan sletter jeg dublerede rækker og beholder rækken med højere værdi?

  4. Hvordan finder man ud af, om en sekvens blev initialiseret i denne session?