1 Reply Latest reply: Aug 24, 2014 1:49 AM by jariola RSS

    How to upload, from client side, an XLSX document?

    Mihai Petcu

      Enviroment:

      Database 11.1.0.6.0 on Windows 2000

      Apache httpd 2.2.15 on Linux CENT OS 6.5 (1.79GB RAM, dual processor) with Tomcat/6.0.24 and ORDS 2.0.9

      From SQL Developer 4.0.2 i've activated the option "Process Excel files into a collection" with "Use the name of the Excel worksheet as the collection name".

       

      I've made the steps to upload an XLSX file (from here Re: Upload of XLSX File using XLS2COLLECTION).

       

      It is working for small files (5000 rows).

       

      Using this method, I want to upload XLSX file with 15 columns and 200000 rows.

      When uploading, i get the error :

       

      Aug 23, 2014 9:13:41 PM oracle.dbtools.rt.web.WebErrorResponse internalError

      SEVERE: GC overhead limit exceeded

      java.lang.OutOfMemoryError: GC overhead limit exceeded

              at java.util.regex.Pattern.matcher(Pattern.java:1088)

              at org.apache.poi.ss.usermodel.DateUtil.isADateFormat(DateUtil.java:265)

              at org.apache.poi.ss.usermodel.DateUtil.isCellDateFormatted(DateUtil.java:331)

              at oracle.dbtools.apex.hooks.fileUpload.ExcelToCollectionLoader.getCellContents(ExcelToCollectionLoader.java:207)

              at oracle.dbtools.apex.hooks.fileUpload.ExcelToCollectionLoader.processRow(ExcelToCollectionLoader.java:184)

              at oracle.dbtools.apex.hooks.fileUpload.ExcelToCollectionLoader.processSheet(ExcelToCollectionLoader.java:156)

              at oracle.dbtools.apex.hooks.fileUpload.ExcelToCollectionLoader.process(ExcelToCollectionLoader.java:118)

              at oracle.dbtools.apex.hooks.fileUpload.ExcelToCollectionLoader.processFile(ExcelToCollectionLoader.java:75)

              at oracle.dbtools.apex.hooks.ProcessorRegistry.fileUploadPreProcess(ProcessorRegistry.java:82)

              at oracle.dbtools.apex.FileUpload.loadFiles(FileUpload.java:63)

              at oracle.dbtools.apex.ModApex.doPost(ModApex.java:143)

              at oracle.dbtools.apex.ModApex.service(ModApex.java:303)

              at oracle.dbtools.rt.web.HttpEndpointBase.modApex(HttpEndpointBase.java:350)

              at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:132)

              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

                ....

       

      It is possible to upload 200000 rows using this method ?