MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » July 2014

Re: Question on using SQL2JXL in multiple concurrent jobs



fixed

Roger

I've used CGIDEV2 for a couple projects, including writing to an XML file - it's an absolute breeze.

I'm SO tempted to take the plunge with this project - it would have to run SO much faster - AND would be in the current format.

How brave am I?

Vern

On 7/2/2014 10:44 PM, Roger Harman wrote:
I had SEQUEL at my last job and it was quite nice. Yes, the lack of
templates was a sore point.

The tool where I am now is quite good and I like a lot of the features. I
haven't found anything it won't do but the speed issue is tough. Probably
the speed and heap space issue was related to our development lpar but for
50k row sheets, it's not feasible. CSV is really fast and using the
SYSCOLUMNS lets me customize titles like "May 2014", etc for dynamic reports
using LABEL ON.

XML with CGIDEV2, as Jon mentioned, or something similar has been
percolating in my head for some time. Scott had an article a while back for
a Word document I believe.



-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
Vernon Hamberg
Sent: Wednesday, July 02, 2014 1:53 PM
To: Midrange Systems Technical Discussion
Subject: Re: Question on using SQL2JXL in multiple concurrent jobs

Yep, Roger - and we need to pretty version.

SEQUEL does have Excel output from its views, and it's really quite fast.
But it can't use an Excel template or an existing Excel workbook as a model,
as SQL2JXL can - or more likely, the Java class over which it is built.

The RPG2SQL product I worked on at RJS just isn't fast enough for this stuff
- it COULD use a model workbook, as I recall, maybe with some little effort
- but speed is of the essence here - can't be taking hours to do this.

Scott's POI-based API is way way too slow. I look forward to the day he gets
the XML-based one going - no Java calls need appear, methinks.

Later
Vern

On 7/2/2014 3:45 PM, Roger Harman wrote:
Trying to "prettify" the result is a reason to move away from CSV.
But, I have a process that just took forever with a vendor product
converting to XLS before running out of Java heap space. We wanted nice
column headings and justification.
The fix was to output it as CSV but I retreive the column headings from
SYSCOLUMNS for the first row so it presented that part nicely.
Justification is still an issue but we're living with it for now.
This is such a common task - why does it seem so difficult to get a simple
quick solution?

Date: Wed, 2 Jul 2014 16:25:05 -0400
Subject: Re: Question on using SQL2JXL in multiple concurrent jobs
From: gallium.arsenide@xxxxxxxxx
To: midrange-l@xxxxxxxxxxxx

On Wed, Jul 2, 2014 at 3:49 PM, Nathan Andelin <nandelin@xxxxxxxxx>
wrote:
http://archive.midrange.com/rpg400-l/200703/msg00621.html
Note that the thread you're linking to talks specifically about
moving away from SQL2XLS to SQL2JXL, due to performance issues with
the former.

I think that such performance problems are quite common with
utilities which dynamically format the results of SQL queries into
some other format... particularly when Java is involved.
I don't think the "particularly when Java is involved" is a fair
assessment. Both SQL2XLS and SQL2JXL "involve Java". Yet SQL2JXL is
noticeably faster. The main thing that makes some POI-based
solutions slow is the RPG-to-Java interface. The more you have to
call Java from RPG, the bigger the overhead. Native Java is... well,
not as fast as pure C or pure RPG, but not as slow as Java-through-RPG.

And then of course there can be better and worse algorithms even
within one implementation language that can affect performance.

Have you considered streaming SQL result sets to .CSV instead?
Usually, CSV is one of the earlier ideas people come up with. Folks
turn to Excel mainly when CSV's shortcomings become deal-breakers.
But yes, if CSV is adequate, then it's a much faster-performing
solution.

John Y.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/midrange-l.








Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot COM and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact