Jump to content
We've recently updated our Privacy Statement, available here ×

chaddn

Members
  • Posts

    31
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Posts posted by chaddn

  1. I need to construct a query that uses the $X IN function but I don't want the parameter value to match the entire value of the field, only a selected portion of it.  So ideally the query would include the following in the where clause:

    $X{IN,left(columnname,4),paramname}

    So basically I want to select where the left 4 characters of the column match my parameter values (it's a collection).  Of course this doesn't work because Jasper is expecting only the column name and gets hung up on the comma before the 4 (it thinks 4 is the parameter name). Does anyone have any ideas how to accomplish this?  I've looked through the documentation for $X and haven't found any examples of this scenario.

    Thanks,

    Chadd

  2. Thanks for the reply!

    If I assign Execute Only permission to the folder it hides the folder from that user role.  So then the user can't even access the folder to see the stored report files anymore.  According to the documentation that Execute Only role is so you can hide report resources from the user but still allow reports they run to access those resources.  So unfortunately that doesn't seem to be a solution.  I've looked through the user doc and can't find a role that will provide the rights I'm looking for.  Any other ideas?

    In my opinion Read Only rights should still allow the user to open stored report output files such as PDFs, XLS, etc as it did in previous versions.

    Thanks,

    Chadd

     

  3. After upgrading from Jasperserver 3.7.1 to 4.5 we noticed that now report output files from scheduled reports (PDFs, Excel files, etc) can no longer be opened by users who have read only rights to them.  Now if I want the user to be able to download/open the pdf file I have to give them at least read+write+delete rights.  This is obvously not ideal as I do NOT want them to be able to delete these stored report files.

    Is this a bug or am I missing some other permission setting that will allow read only users to download these files from the repository?

    Thanks,

    Chadd

  4. I just installed a clean copy of 4.5.0 CP (on 64bit Centos 5) and imported my 3.7.1 repository.  I noticed that on any of my report schedules that I have multiple email recipients I am unable to make changes to those schedules.  As soon as I submit the changes I get the following error:

    "The server has encountered an error. Please excuse the inconvenience. An error has occurred. Please contact your system administrator. (5321)"

    I also get this error if I try to create a new schedule to multiple email recipients.  If I leave only one email address in the To field, it will save the schedule just fine.  I am separating the email addresses with commas just as I always have.  Here is what jasperserver.log shows pertaining to this:

    "Invalid input: context=toAddresses-ViewRepository_Schedule_OutputSettings_context, type(Email)=^[\p{L}\p{M}\p{N}._%'-]+@[\p{L}\p{M}\p{N}.-]+\.[a-zA-Z]{2,4}$, input=testa@gmail.com,testb@gmail.com
    org.owasp.esapi.errors.ValidationException: toAddresses-ViewRepository_Schedule_OutputSettings_context: Invalid input. Please conform to regex ^[\p{L}\p{M}\p{N}._%'-]+@[\p{L}\p{M}\p{N}.-]+\.[a-zA-Z]{2,4}$ with a maximum length of 200
            at org.owasp.esapi.reference.validation.StringValidationRule.checkWhitelist(StringValidationRule.java:144)"
     

    Is this a bug or did the address delimiter change?  I've been wrestling with this upgrade all afternoon (fixing other report compatability issues) and this is the last one to address so I can move us to the new version.  Please help!

    Thanks!

    Chadd

     

  5. I just built a new Jasper Reports Server CE 4.2.1 server (64 bit), running on 64 bit Centos.  I imported my 3.7.1 repository and most things work fine.

    I have some reports that I embed in iFrames in our CRM system using the decorate=no parameter in the URL string.  In 4.2.1 using that parameter causes IE to report a javascript error that says "JRS is undefined" in core.ajax.js line 191.  This isn't a huge deal if they are just viewing the report in a browser window, but one of the reports is a dashboard that loads inside an Outlook folder (uses IE basically) and there it pops up a message asking the user if they want to continue running scripts on the page.  If I remove decorate=no from the URL the report loads fine (no errors), albeit with the JSR navigation and everything I don't want it to load with.

    Any work arounds or ideas how to eliminate this issue?

    Thanks,

    Chadd

  6. Hello,

    I'm currently using JasperServer 3.7.1.  I recently upgraded from iReport 3.7.6 to 4.0.2.  I have the compatibility in iReport set for version 3.7.1.  When I edit one of my existing crosstab reports using iReport 4.0.2 it removes the class attribute from all bucketExpression tags which then causes the report to error out when trying to run it in Jasperserver 3.7.1 (SaxParse error complaining about the missing class attribute).  I tried upgrading to iReport 4.5.0 and it does the same thing.

    Prior to saving the file in iReport 4.x:  <bucketExpression class="java.lang.String">

    After saving the file in iReport 4.x:  <bucketExpression>

    Since JasperReports 3.7.1 seems to need the class attribute, shouldn't this be retained when I set the compatibility to JR 3.7.1?  Should I assume that JR 4.x doesn't require the class attribute and this won't be a problem when I update to JasperServer 4.x?

    Thanks!

    Chadd



    Post Edited by chaddn at 01/06/2012 15:09
  7. I tried considering if the variables I'm summing are null and I still get the same incorrect value.  I tried changing the reset type of comm_t to all other options and I either still get the incorrect value or just zero.

    Right now the data I'm testing with is only getting a value in comm_1 because all of the orders are less than $50k in this time frame.  So I even tried removing all the other comm_# variables from comm_t and only had $V{comm_1} as the variable expression.. but I still get the same incorrect value.  There is a jpg of the output (it's only 1 page), you can see the total Commission Due (comm_t) at the very bottom of the report of $362.04.  If you add everything up it should be $532.99.

    This is baffling, I feel like it should just work..

    Thanks for all the suggestions so far.

    Chadd

  8. I have a report that calculates the commission owed per sales order value based on 6 different commission rates (one rate up to $50k order, another for $50k to $100k orders, etc).  There is one group in the report which is the sales order number.  I use variables comm_1 through comm_6 which use an expression that evaluates the total value of the order and if true multiplies the total order value by the associated commission percentage to show the calculated commission, if false the variable is set to 0.  I then stack these 6 variable fields on top of each other on the report (in the group footer) and use a print when expression in each like $V{comm_1}>(0).  This part works great, it displays the appropriate commission amount based on each total order value.

    Next I need to sum the total of those variables in my last page footer.  So I created a variable called comm_t (calculation type sum, reset type report) with a variable expression of ($V{comm_1}+$V{comm_2}+$V{comm_3}+$V{comm_4}+$V{comm_5}+$V{comm_6}).  When I run the report comm_t displays a value that does not equal the sum of the commission values shown in the groups.  I have no idea where it is getting the value that it is, it doesn't seem to match up with any combination of the calculated commissions.

    Is it possible to sum the product of group variables in a report summary?  JRXML is attached, any help or hints would be greatly appreciated!

    Thanks,

    Chadd

  9. I have this same need, to be able to pass multiple SQL statements for dropping/creating/modifying a temp table and then eventually selecting the data from the temp table for my JasperReport.  Can anyone tell me how I can implement the solution that Neville created?  I am using Jasper Reports 3.5.1..

    Thanks,

    Chadd

  10. I am going to use JasperServer to email some excel or csv files on a scheduled basis.  Some of the files will have a lot of columns in them, 30+ at times.  Is there away to set the columns and page size in a report to automatically stretch with the longest value in each field and overall combined width of the columns?

    The problem I have is in iReport I'm having to drop all 30 fields on a fixed width page, then resize each of the fields to the longest possible character width.  It's very time consuming.

    I tried using "stretch with overflow" on the fields, but that stretches it vertically and causes row spanning in the excel file and strange output in the csv.

    Any suggestions or help would be greatly appreciate.

    Thanks,

    Chadd

     

  11. I don't think the password failed ever, and I know it hasn't changed.  Strange that is the only account like this.

    There is no function to enable external users in the User admin.

    I just went and redeployed the few reports I needed to schedule using the jasperadmin user.  I'll just use that from now on.

    Thanks for the reply!

    Chadd

  12. I think I found the issue via another forum post.

    I am using LDAP authentication against Active Directory and for some reason the Ldap user that I logged in as to create most of my reports says "This user is NOT enabled" when I look at it in the Users module.  All of the other ldap/external users say they are enabled, except for this one.  Since the scheduler runs the report as the user that created it, I assume this is why it is saying the user is expired.

    So, my questions are can I enable that external Ldap user in the jasper user store?  If not, can I assign my existing reports to an internal Jasper user so the scheduler can run them?

    Any help would be greatly appreciated.

    Thanks,

    Chadd

  13. I'm using Jasperserver 3.5.1 on CentOS.  Everything works great, except for the job scheduler.  I configured the necessary mail server settings in js.quartz.properties and I confirmed I can telnet to the smtp port on my mail server.  When I run the report job, it does not give me an error (in the web UI), I receive no email, and it does not generate the PDF file in the repository folder I chose to store it in.

    In jasperserver.log I see the attached unhandled exception being thrown.  Any ideas what the problem is?

    Thanks,

    Chadd

     

    Code:
    20:58:18,352 ERROR ErrorLogger,JasperServerScheduler_Worker-0:2015 - Job (ReportJobs.job_2 threw an exception.org.quartz.SchedulerException: Job threw an unhandled exception. [see nested exception: com.jaspersoft.jasperserver.api.JSException: jsexception.user.expired]        at org.quartz.core.JobRunShell.run(JobRunShell.java:206)        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)* Nested Exception (Underlying Cause) ---------------com.jaspersoft.jasperserver.api.JSException: jsexception.user.expired        at com.jaspersoft.jasperserver.api.engine.common.service.impl.AcegiSecurityContextProvider.setAuthenticatedUser(AcegiSecurityContextProvider.java:98)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at java.lang.reflect.Method.invoke(Method.java:585)        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:199)        at $Proxy8.setAuthenticatedUser(Unknown Source)        at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.execute(ReportExecutionJob.java:186)        at org.quartz.core.JobRunShell.run(JobRunShell.java:195)        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
  14. I have the same need, only for an Ingres database.  I create temp tables in reports to manipulate data.

    Here's what I added in $CATALINA/webapps/jasperserver/META-INF/context.xml..

    <Resource name="jdbc/dbtest" auth="Container" type="javax.sql.DataSource"
            maxActive="100" maxIdle="30" maxWait="10000"
            username="ingres" password="xxxxxx"
            driverClassName="com.ingres.jdbc.IngresDriver"
            url="jdbc:ingres://dbtest:II7/dbname"/>

    After saving the file, I restarted tomcat and mysql.  I then added the JNDI datasource in Jasperserver using the service name "jdbc/dbtest", as named in context.xml.  When I test the JNDI connection it just tells me "test failed".  I can currently use the same JDBC connection in Jasperserver and it connects fine.

    I looked in the catalina.out log file and saw the following message which seems to have occurred when I tested the connection..

    15:23:38,347 ERROR DbcpDataSourceFactory,http-8443-Processor22:61 - java.lang.ClassNotFoundException: com.ingres.jdbc.IngresDriver
    java.lang.ClassNotFoundException: com.ingres.jdbc.IngresDriver
            at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355)
            at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:242)
            at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.DbcpDataSourceFactory.registerDriver(DbcpDataSourceFactory.java:59)

    Why does it find the Ingres driver when I use the class as a normal JDBC connection, but not within a JNDI connection?

    Thanks,

    Chadd



    Post Edited by chaddn at 02/10/2010 22:06
  15. I have a report (crosstab) running in JasperServer that I created in iReport.  I setup a value in the crosstab to hyperlink to another report, using the full URL of the jasper server (passing the necessary parameters to run a report).

     

    The hyperlink is there when I preview the report in iReport using the JasperViewer.  When I publish that report to Jasper server and run it there, the text is not hyperlinked.  It also doesn't work if I do a HTML preview from iReport.

     

    I have attached my jrxml file, any idea why this hyperlink won't render in HTML?  If you search for "hyperlinkReferenceExpression" in the jrxml, you'll see where the hyperlink exists.

     

    Thanks in advance,

     

    Chadd

  16. OK, I got it to work using the instructions from the first reply in this thread.  It seems that the Ingres JDBC driver was having a problem with using a parameter, and grouping in the same query by a partial field value -left(datumrg,4)-...Very obscure, strange issue.  So I got around it by not grouping and having the crosstab do the totaling for me.

     

    Thanks for all your help guys!

     

    Chadd

  17. OK, I tried this and it still doesn't seem to pass the prompted value to my subdataset query.  It shows a ? where my $P{feid_sub} is in the query.  There's a txt file attached with a paste from the output console, I'm just trying the preview from within iReport, using the built-in viewer.  If I enter a valid value in the query instead of the $P{feid_sub}, the query works as expected.  So I know the query is good.  Latest jrxml is also attached.

     

    Any ideas why the param isn't getting passed?

     

    Thanks for your help!

     

    Chadd

×
×
  • Create New...