Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » BIRT » Exception while using Birt Joint Dataset
Exception while using Birt Joint Dataset [message #964136] Tue, 30 October 2012 09:33 Go to next message
Naveen V M is currently offline Naveen V MFriend
Messages: 10
Registered: October 2012
Junior Member
I am using Birt(2.6.0). When i tried Joint dataset feature, My report generation failed with "column binding" exception. But after removing Joint dataset, report generation is successful.

Could someone please help here?

Exception log :


org.eclipse.birt.report.engine.api.EngineException: Column binding "column1" has referred to a data set column "column1" which does not exist.
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1210)
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1174)
at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:96)
at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99)
at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:249)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:252)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:85)
at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1307)
at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
at org.eclipse.birt.report.service.actionhandler.BirtGetPageActionHandler.__checkDocumentExists(BirtGetPageActionHandler.java:58)
at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.prepareParameters(AbstractGetPageActionHandler.java:119)
at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(AbstractGetPageActionHandler.java:104)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPage(BirtDocumentProcessor.java:87)
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.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
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.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:388)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:283)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.successfactors.analytics.filters.ReportConvertingFilter.doFilter(ReportConvertingFilter.java:556)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.successfactors.analytics.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:225)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:57)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.eclipse.birt.data.engine.core.DataException: Column binding "column1" has referred to a data set column "column1" which does not exist.
at org.eclipse.birt.data.engine.impl.ResultIterator.validateManualBindingExpressions(ResultIterator.java:360)
at org.eclipse.birt.data.engine.impl.ResultIterator.(ResultIterator.java:148)
at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:194)
at org.eclipse.birt.report.engine.data.dte.QueryResultSet.(QueryResultSet.java:98)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)
at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:74)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:265)
at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1875)
at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
... 76 more

Thanks In Advance,
Naveen.
Re: Exception while using Birt Joint Dataset [message #964552 is a reply to message #964136] Tue, 30 October 2012 16:09 Go to previous messageGo to next message
Michael Williams is currently offline Michael WilliamsFriend
Messages: 1663
Registered: July 2009
Senior Member

It would appear that one of your tables has a field trying to call a binding called column1 that doesn't exist in the binding tab, for that table. Can you attach your report?

Michael

Add interactivity, scheduling, sharing, live Excel export, and JS integration to your BIRT app with the new, free BIRT server, BIRT iHub F-Type.
Re: Exception while using Birt Joint Dataset [message #965644 is a reply to message #964552] Wed, 31 October 2012 11:54 Go to previous messageGo to next message
Naveen V M is currently offline Naveen V MFriend
Messages: 10
Registered: October 2012
Junior Member
HI Micheal,

Thanks for coming back.
Please have a look at the attached template.

Thanks,
Naveen
Re: Exception while using Birt Joint Dataset [message #966592 is a reply to message #965644] Thu, 01 November 2012 04:43 Go to previous messageGo to next message
Michael Williams is currently offline Michael WilliamsFriend
Messages: 1663
Registered: July 2009
Senior Member

Can you try recreating the report, from scratch, to see if the issue happens again? If it does, can you attach some sample flat files of data I can use to run this report and see if I can get the same error? Thanks.

Michael

Add interactivity, scheduling, sharing, live Excel export, and JS integration to your BIRT app with the new, free BIRT server, BIRT iHub F-Type.
Re: Exception while using Birt Joint Dataset [message #972102 is a reply to message #966592] Mon, 05 November 2012 11:02 Go to previous messageGo to next message
Naveen V M is currently offline Naveen V MFriend
Messages: 10
Registered: October 2012
Junior Member
Michael,

I tried creating a template from scratch and used it. But end up with the same issue.
Birt Designer Perview tab shows proper results but while uploading it on my application the above issue occurs.

Here I am attaching 2 dataset's files, could you please create a template by having any join condition on username column.

Thanks In Advance,
Naveen.
Re: Exception while using Birt Joint Dataset [message #972308 is a reply to message #972102] Mon, 05 November 2012 14:21 Go to previous messageGo to next message
Naveen V M is currently offline Naveen V MFriend
Messages: 10
Registered: October 2012
Junior Member
Michael,

Think, I found the reason for this issue. While using the templates with Joint dataset then the column label will be like "Dataset1::Column1", "Dataset2::column2",..etc. I have developed ODA same as CSV ODA available in birt site.
So for Dataset1 & Dataset2, the column label will be returned as "column1","column2"..etc.

While comparing the 2 list in org.eclipse.birt.data.engine.impl.ResultIterator.validateManualBindingExpressions() method, this issue is occurring.

Do we need to set any properties to avoid this issue ??

And, this method (org.eclipse.birt.data.engine.impl.ResultIterator.validateManualBindingExpressions()) is called only when the "DataEngineContext.mode" is MODE_GENERATION or DIRECT_PRESENTATION.

How can we change the mode and What is the difference between these modes??

Thanks,
Naveen.
Re: Exception while using Birt Joint Dataset [message #972479 is a reply to message #972308] Mon, 05 November 2012 17:05 Go to previous messageGo to next message
Michael Williams is currently offline Michael WilliamsFriend
Messages: 1663
Registered: July 2009
Senior Member

So, using your custom ODA, vs the flat file ODA that comes with BIRT, is the issue you're having? This isn't happening with the out-of-the-box flat file ODA?

Michael

Add interactivity, scheduling, sharing, live Excel export, and JS integration to your BIRT app with the new, free BIRT server, BIRT iHub F-Type.
Re: Exception while using Birt Joint Dataset [message #974560 is a reply to message #972479] Wed, 07 November 2012 06:33 Go to previous messageGo to next message
Naveen V M is currently offline Naveen V MFriend
Messages: 10
Registered: October 2012
Junior Member
Yes Michael. DO i need to set any properties in JointDataSetHandle or Is there any configuration specific to Joint Dataset?

Thanks,
Naveen.
Re: Exception while using Birt Joint Dataset [message #975354 is a reply to message #974560] Wed, 07 November 2012 20:25 Go to previous messageGo to next message
Michael Williams is currently offline Michael WilliamsFriend
Messages: 1663
Registered: July 2009
Senior Member

I don't think there's an issue with the joint dataSet. This issue is probably with whatever changes you made to the flat file oda. In the template you sent me, the fields in the dataSets appear to be D1Column1 and D2Column1, not column1, like you say your changes make them. So, try this, to see if it fixes the issue when there is a joint dataSet. In each dataSet, go to the output columns section and change the alias to "column1", "column2", etc. Maybe that'll get rid of the confusion. If it does, you might go back and look at the changes you made in the ODA. Let me know.

Michael

Add interactivity, scheduling, sharing, live Excel export, and JS integration to your BIRT app with the new, free BIRT server, BIRT iHub F-Type.
Re: Exception while using Birt Joint Dataset [message #975874 is a reply to message #975354] Thu, 08 November 2012 06:19 Go to previous message
Naveen V M is currently offline Naveen V MFriend
Messages: 10
Registered: October 2012
Junior Member
Michael,

Sure. I will try the way you suggested and update. Meanwhile, I found this

My Joint dataset tag looks like this,

<list-property name="columnHints">
<structure>
<property name="columnName">Dataset1::column1</property>
<property name="alias">column1</property>
<text-property name="displayName">Dataset1::column1</text-property>
</structure>
<structure>
<property name="columnName">Dataset2::column2</property>
<property name="alias">column2</property>
<text-property name="displayName">Dataset2::column2</text-property>
</structure>
</list-property>

In org.eclipse.birt.data.engine.impl.ResultIterator.validateManualBindingExpressions() method Birt calls populateValidDataSetColumnNameSet() method.

In populateValidDataSetColumnNameSet() method, both valid column name and alias name will be populated.

In my case, it is populating only the column name ie {"Dataset1::column1","Dataset2::column2"}.

I dont know why this line no 381 in ResultIterator.java ( this.odiResult.getResultClass( ).getFieldAlias( i ) ) is not returning my alais names.

Do i need to make some changes to my custom oda to send alias name?

Thanks,
Naveen.




Previous Topic:Embedded fonts not found in BIRT 3.7.1
Next Topic:Can we get row number in a computed column in dataset??
Goto Forum:
  


Current Time: Fri Nov 21 16:47:50 GMT 2014

Powered by FUDForum. Page generated in 0.02556 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software