error running report with XMLA data source

I have a report that connects to an XMLA data source (in Jasperserver). The report works fine in iReport 3.1.0.

I used the repository navigator to deploy the report to Jasperserver, and set its data source to an XMLA data source in the repository. 

I was getting some namespace errors, so based on a forum post I updated xalan to 2.7.1.

Now I when I run the report, I get this error:

net.sf.jasperreports.engine.JRRuntimeException: Invalid field mapping "[Measures]...

I'm logging the xmla output, and see results are being returned to the jasperreports engine.

Is there a misconfiguration somewhere?

Josh

nutzman's picture
22
Joined: May 30 2008 - 2:05am
Last seen: 15 years 4 months ago

11 Answers:

 here is a longer stack dump...

Code:
net.sf.jasperreports.engine.JRRuntimeException: Invalid field mapping "[Measures].[Count]".
	at net.sf.jasperreports.olap.JROlapDataSource.init(JROlapDataSource.java:248)
	at net.sf.jasperreports.olap.JROlapDataSource.<init>(JROlapDataSource.java:113)
	at net.sf.jasperreports.olap.xmla.JRXmlaQueryExecuter.createDatasource(JRXmlaQueryExecuter.java:122)
	at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:656)
	at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:588)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1196)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:833)
	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:123)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:420)
	at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:638)
	at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:333)
	at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.executeReport(EngineServiceImpl.java:765)
	at com.jaspersoft.jasperserver.api.engine.jasperreports.domain.impl.ReportUnitRequest.execute(ReportUnitRequest.java:60)
	at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.execute(EngineServiceImpl.java:265)
	at com.jaspersoft.jasperserver.war.action.ViewReportAction.executeReport(ViewReportAction.java:329)
	at com.jaspersoft.jasperserver.war.action.ViewReportAction.verifyData(ViewReportAction.java:222)
	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:597)
	at org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:103)
	at org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:136)
	at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:203)
	at org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:142)
	at org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:61)
	at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:180)
	at org.springframework.webflow.engine.State.enter(State.java:200)
	at org.springframework.webflow.engine.Transition.execute(Transition.java:229)
	at org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:112)
	at org.springframework.webflow.engine.Flow.onEvent(Flow.java:572)
	at org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:207)
	at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:185)
	at org.springframework.webflow.engine.State.enter(State.java:200)
	at org.springframework.webflow.engine.Flow.start(Flow.java:557)
	at org.springframework.webflow.engine.impl.RequestControlContextImpl.start(RequestControlContextImpl.java:195)
	at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:189)
	at org.springframework.webflow.executor.FlowExecutorImpl.launch(FlowExecutorImpl.java:206)
	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:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
	at org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
	at $Proxy28.launch(Unknown Source)
	at org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:131)
	at org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:170)
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:820)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:86)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
	at org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:335)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:141)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at com.jaspersoft.jasperserver.war.util.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:97)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
	at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:619)</td></tr></tbody></table>
nutzman's picture
22
Joined: May 30 2008 - 2:05am
Last seen: 15 years 4 months ago

Could you post your MDX query and field mappings?

Regards,

Lucian

lucianc's picture
87189
Joined: Jul 17 2006 - 1:10am
Last seen: 22 hours 7 min ago

Attached is a smaller report that has the same error.

This report works in iReport using the XMLA-MDX query language. It fails when published to JS.

 

Code:
<?xml version="1.0" encoding="UTF8"?>
<!DOCTYPE jasperReport PUBLIC "-//JasperReports//DTD JasperReport//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
 
<jasperReport name="report name" pageWidth="595" pageHeight="842" columnWidth="535" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
	<queryString language="xmla-mdx">
		<![CDATA[select { [Measures].[Message To Count] } ON COLUMNS,
{[Date].[Year].[2008].Children } ON ROWS
FROM [Message Stats]]]>
	</queryString>
	<field name="Message To Count" class="java.lang.String">
		<fieldDescription><![CDATA[[Measures].[Message To Count]]]></fieldDescription>
	</field>
	<field name="Quarter" class="java.lang.String">
		<fieldDescription><![CDATA[[Date].[Quarter]]]></fieldDescription>
	</field>
 
	<background>
		<band/>
	</background>
	<detail>
		<band height="22">
			<textField hyperlinkType="None">
				<reportElement x="191" y="2" width="100" height="20"/>
				<textElement/>
				<textFieldExpression class="java.lang.String"><![CDATA[$F{Message To Count}]]></textFieldExpression>
			</textField>
			<textField hyperlinkType="None">
				<reportElement x="0" y="0" width="100" height="20"/>
				<textElement/>
				<textFieldExpression class="java.lang.String"><![CDATA[$F{Quarter}]]></textFieldExpression>
			</textField>
		</band>
	</detail>
</jasperReport>
 
</td></tr></tbody></table>
nutzman's picture
22
Joined: May 30 2008 - 2:05am
Last seen: 15 years 4 months ago

iReport uses its own xmla-mdx query executer, you'll have to adapt the report a little to run it in JasperServer.

What you'll have to do is to change the query language to "mdx", and to update the field mappings to something like

<field name="Message To Count" class="java.lang.Long">
<fieldDescription><![CDATA[Data(0,?)]]></fieldDescription>
</field>
<field name="Quarter" class="java.lang.String">
<fieldDescription><![CDATA[Rows[Date][Quarter]]]></fieldDescription>
</field>

Regards,

Lucian

lucianc's picture
87189
Joined: Jul 17 2006 - 1:10am
Last seen: 22 hours 7 min ago

 Well, I altered the jrxml by hand, but now I get a null pointer exception.

 

java.lang.NullPointerException at net.sf.jasperreports.olap.JROlapDataSource.getLevelDepth(JROlapDataSource.java:363)

 

How do people usually develop and publish reports that use a Mondrian data source?

Code:
java.lang.NullPointerException
	at net.sf.jasperreports.olap.JROlapDataSource.getLevelDepth(JROlapDataSource.java:363)
	at net.sf.jasperreports.olap.mapping.MappingParser.memberDepth(MappingParser.java:388)
	at net.sf.jasperreports.olap.mapping.MappingParser.member(MappingParser.java:246)
	at net.sf.jasperreports.olap.mapping.MappingParser.memberMapping(MappingParser.java:142)
	at net.sf.jasperreports.olap.mapping.MappingParser.mapping(MappingParser.java:112)
	at net.sf.jasperreports.olap.JROlapDataSource.init(JROlapDataSource.java:238)
	at net.sf.jasperreports.olap.JROlapDataSource.<init>(JROlapDataSource.java:113)
	at net.sf.jasperreports.olap.xmla.JRXmlaQueryExecuter.createDatasource(JRXmlaQueryExecuter.java:122)
	at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:656)
	at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:588)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1196)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:833)
	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:123)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:420)
	at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:638)
	at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:333)
	at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.executeReport(EngineServiceImpl.java:765)
	at com.jaspersoft.jasperserver.api.engine.jasperreports.domain.impl.ReportUnitRequest.execute(ReportUnitRequest.java:60)
	at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.execute(EngineServiceImpl.java:265)
	at com.jaspersoft.jasperserver.war.action.ViewReportAction.executeReport(ViewReportAction.java:329)
	at com.jaspersoft.jasperserver.war.action.ViewReportAction.verifyData(ViewReportAction.java:222)
	at sun.reflect.GeneratedMethodAccessor419.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:103)
	at org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:136)
	at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:203)
	at org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:142)
	at org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:61)
	at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:180)
	at org.springframework.webflow.engine.State.enter(State.java:200)
	at org.springframework.webflow.engine.Transition.execute(Transition.java:229)
	at org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:112)
	at org.springframework.webflow.engine.Flow.onEvent(Flow.java:572)
	at org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:207)
	at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:185)
	at org.springframework.webflow.engine.State.enter(State.java:200)
	at org.springframework.webflow.engine.Flow.start(Flow.java:557)
	at org.springframework.webflow.engine.impl.RequestControlContextImpl.start(RequestControlContextImpl.java:195)
	at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:189)
	at org.springframework.webflow.executor.FlowExecutorImpl.launch(FlowExecutorImpl.java:206)
	at sun.reflect.GeneratedMethodAccessor232.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
	at org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
	at $Proxy13.launch(Unknown Source)
	at org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:131)
	at org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:170)
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:820)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:86)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
	at org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:335)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:141)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at com.jaspersoft.jasperserver.war.util.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:97)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
	at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
	at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:619)</td></tr></tbody></table>
nutzman's picture
22
Joined: May 30 2008 - 2:05am
Last seen: 15 years 4 months ago

This seems to be caused by the Rows[Date][Quarter] field mapping.  Could you confirm that the OLAP schema contains a Date dimentsion that has a Quarter level?

I'm not sure how people usually develop such reports.  Have you tried creating a report with "mdx" as query language in iReport?

Regards,

Lucian

lucianc's picture
87189
Joined: Jul 17 2006 - 1:10am
Last seen: 22 hours 7 min ago

The query runs OK in jpivot, so it seems the level is OK. 

I suppose this is a topic for the ireport forum, but anyway...

I get an error when I try to add an MDX data source in iReport.

I setup my JDBC connection to MySQL, and it works fine. I add an Mondrian OLAP data source, specify the JDBC connection I just created, and then test. I get an error:

"Mondrian Error:Internal errorError while creating SQL dialect" 

Viewing the log shows that there is a related error: 

   Caused by: java.sql.SQLException: No suitable driver found

 

I've tried upgrading and downgrading the MySQL driver, but I still get the error.

I gave up when the XMLA-MDX connection worked in iReport.

nutzman's picture
22
Joined: May 30 2008 - 2:05am
Last seen: 15 years 4 months ago

There was something wrong with your schema. Post the schema and we can look at it. Strange that it worked from iReport, though.

 

 

Sherman

Jaspersoft

swood's picture
24589
Joined: Jun 21 2006 - 12:48pm
Last seen: 10 years 11 months ago

 I reduced my schema down to a very small cube with one measure and one dimension, and still get the error. I tried with the sample schema included with JasperServer - FoodmartSchema2006.xml - and get the same error:

Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql:// .......

 

Am I using iReport correctly? I have the latest version of iReport. I setup a Database JDBC connection to MySQL and test it. I'm able to connect and query without problem. Next I add a Mondrian MDX connection, and specify the MySQL connection I just created. 

 

How do people create reports with an MDX data source in iReport, then deploy those reports to JasperServer?

 

Josh

nutzman's picture
22
Joined: May 30 2008 - 2:05am
Last seen: 15 years 4 months ago

has there been any progress?

 

I'm having the same problem. Any help would be appreciated.



Post Edited by francisco barajas at 12/22/08 18:48
fbarajas's picture
234
Joined: Aug 20 2007 - 7:47am
Last seen: 9 years 5 months ago

No suitable driver found means that the Mondrian XML/A definition being used in JasperServer has a problem. The steps are:

  1. Create a JDBC or JNDI data source for the OLAP database (say OlapDS). Test this connection. I think this is where your error is.
  2. Create a schema (say OlapSchema)
  3. Create Mondrian Connection that uses the OlapDS and OlapSchema (say MondrianConnection)
  4. Create a Mondrian XML/A Definition that uses the MondrianConnection

 

Sherman

Jaspersoft

 

swood's picture
24589
Joined: Jun 21 2006 - 12:48pm
Last seen: 10 years 11 months ago
Feedback