Ticket S30549
Visible to All Users

Data - Improve performance and memory usage when generating very large reports (e.g. report generating server)

created 17 years ago

Proposed Solution:
Probably, the best solution is to create a service application, which will run on a stand-alone "report generating" server. This application should be able to generate reports (both, on demand or by a schedule) and store them as PRNX files. Then a user application with XtraReports (Win or Web), should be capable to ask this service for certain pages for a certain report.
-------------------

  • also see this description from http://community.devexpress.com//forums/p/69851/238253.aspx#238253
    "What I am looking to do is very similar to what Sql Reporting Services does. I can write a report and publish or deploy it to the Sql Reporting Services website (on our Sql box). Then users can go run their reports on the web any time they wish.
    Users also have the ability to set a schedule for each report (called a subscription) to execute and be delivered to them via email on that specific schedule.
    For example, I have a report that I run at the end of each month on sales for each of our sales folks. I have setup a subscription in Sql Reporting Services so that at the end of each month (say the last Thursday of the month) Sql Reporting Services automatically runs the report and emails it to me as a PDF."

Answers approved by DevExpress Support

created 7 years ago

We have implemented the functionality described in this ticket. It will be included in our next update(s).

Please check back and leave a comment to this response to let us know whether or not this solution addresses your concerns.

Additional information:

In v18.1, we have implemented a new CachedReportSource component that stores document pages in the file system or in a database during document generation. This component allows you to improve performance when producing very large reports and create documents whose final size is limited largely by the available storage space.

See the Reporting - Document Generation Performance Improvements blog post for more information.

Refer to the following help topics for detailed instructions on how to use this component:

WinForms and WPF Applications
CachedReportSource (class description)
Preview Large Reports (WinForms)
Preview Large Reports (WPF)

Web Applications
CachedReportSourceWeb (class description)
HTML5 Document Viewer

Report Merging
Merge Large Reports

    Other Answers

    created 13 years ago (modified 13 years ago)

    This functionality isn't currently supported. We consider improving our Report Builder implementation in a future update.

      Show previous comments (5)
      Yaroslav (DevExpress Support) 8 years ago

        Hi Mustafa,
        This thread describes several features to implement, so I'm not sure exactly which one you're interested in. If it's about generating very large reports, than the answer is No — even though the  memory consumption is one of our main our concerns (we're trying to improve it with each new update), you can still encounter an OutOfMemory exception on very large reports, especially in a 32-bit application.  If you're experiencing any particular issues with generating your own reports, please don't hesitate to raise a new thread in our Support Center and elaborate on the situation. We'll our best to assist you.

        Regards,
        Yaroslav

          Hi
          I am running the application on 64 bit
          When i am exporting to pdf 290000  report rows it is not doing the export it is stuck and there is no error of memory limit
          on 20000 rows this is working
          I want to see the error how to see it

          Thx
          The same is for export to csv, xls

          Yaroslav (DevExpress Support) 7 years ago

            @Powercom,
            I see that you've already created a few tickets concerning the large memory consumption by some of the reports you're building:
            XtraReport ExportToPdf
            XtraReport big report problem
            Unfortunately, right now, it's not clear if you've tried any of the solutions I suggested there, and if so, whether you saw any improvements. Please reply in those threads with the results at your earliest convenience, I'll be happy to follow up with you.

            Regards,
            Yaroslav

            Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

            Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.