Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Migrating BIRT Report Engine from 2.5.2 to 3.7.0
mrab
Sorry... I think I posted in the wrong forum, but can't see a way to undo it! This probably belongs in the Deploying Reports forum.
After migrating from 2.5.2 to 3.7.0, I am getting errors like the following in many reports:
1) - Fail to compute value for computed column "processorsunits2".
A BIRT exception occurred. See next exception for more information.
There are errors evaluating script "if(row["PROPERTY_VALUE"] > 0){
row["PROPERTY_VALUE"]} else{ 0}":
Invalid field name: PROPERTY_VALUE. (Element ID:198)
2) - Fail to compute value from sort, group or filter expression.
Invalid field name: HARDWARE_NAME. (Element ID:833)
All of these reports worked on the 2.5.2 version of the Engine. They also work on the 3.7.0 version of the Designer so if I overlooked a 'release notes' document that would help with this, please let me know!
Thanks!
Michele
Find more posts tagged with
Comments
JasonW
Michele
Can you post the report design.
Jason
mrab
Jason,
Thanks for looking at this. The report attached is getting the following error:
+ Fail to compute value from sort, group or filter expression.
Invalid field name: HARDWARE_NAME. (Element ID:833)
data.engine.ScriptResult.WrongSystemComputedColumn ( 1 time(s) )
detail : org.eclipse.birt.report.engine.api.EngineException: Fail to compute value from sort, group or filter expression.
Invalid field name: HARDWARE_NAME. (Element ID:833)
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1206)
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1185)
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.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:92)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:929)
at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:973)
at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(BirtRunAndRenderActionHandler.java:76)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(EngineFragment.java:318)
at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment.service(AbstractBaseFragment.java:76)
at org.eclipse.birt.report.servlet.BirtEngineServlet.__doGet(BirtEngineServlet.java:120)
at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(BaseReportEngineServlet.java:185)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.eclipse.birt.report.servlet.BaseReportEngineServlet.service(BaseReportEngineServlet.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:810)
Caused by: org.eclipse.birt.data.engine.core.DataException: Fail to compute value from sort, group or filter expression.
Invalid field name: HARDWARE_NAME.
at org.eclipse.birt.data.engine.impl.ComputedColumnHelper$ComputedColumnHelperInstance.process(ComputedColumnHelper.java:514)
at org.eclipse.birt.data.engine.impl.ComputedColumnHelper.process(ComputedColumnHelper.java:130)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.processFetchEvent(RowResultSet.java:152)
at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:113)
at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:316)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:285)
at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:246)
at org.eclipse.birt.data.engine.executor.cache.SmartCache.<init>(SmartCache.java:73)
at org.eclipse.birt.data.engine.executor.transform.pass.PassUtil.populateOdiResultSet(PassUtil.java:153)
at org.eclipse.birt.data.engine.executor.transform.pass.PassUtil.pass(PassUtil.java:62)
at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.doRowSorting(ResultSetProcessUtil.java:293)
at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.populateResultSet(ResultSetProcessUtil.java:122)
at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.doPopulate(ResultSetProcessUtil.java:85)
at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.prepareQueryResultSet(PassManager.java:108)
at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.pass(PassManager.java:126)
at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSet(PassManager.java:74)
at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.populateResultSet(ResultSetPopulator.java:198)
at org.eclipse.birt.data.engine.executor.transform.CachedResultSet.<init>(CachedResultSet.java:97)
at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:1024)
at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:441)
at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1495)
at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:232)
at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:173)
at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:265)
at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1897)
at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
... 38 more
Caused by: org.eclipse.birt.data.engine.core.DataException: Invalid field name: HARDWARE_NAME.
at org.eclipse.birt.data.engine.executor.ResultObject.getFieldValue(ResultObject.java:162)
at org.eclipse.birt.data.engine.impl.ComputedColumnHelper$ComputedColumnHelperInstance.process(ComputedColumnHelper.java:449)
... 66 more
JasonW
I looked at the report and did not see anything obvious. If you remove the hardware_name group does it still have the issue?
Jason
mrab
I removed the group from the body and am now getting the following error in the report engine (the designer previews without throwing an error):<br />
<br />
Column binding "HARDWARE_NAME" has referred to a data set column "HARDWARE_NAME" which does not exist. (Element ID:833) <br />
<br />
Please excuse my lack of understanding here, but I think I need a better picture of how this fits together! This is what I have tried:<br />
<br />
1st - deleted the group from the body and got the error above<br />
2nd - deleted the detail line from the body and got the error above<br />
3rd - deleted the header line from the body, down to just a grid for the title, and finally no error<br />
<br />
I don't really understand what is going on with the hardware_name. Am I failing to clear something out? Is that error really referring to the data set column because I'm pretty sure I'm seeing it in the xml?<br />
<br />
Thanks!
JasonW
Yea I should have explained better. If you select the table and then in the properties editor click on the binding tab, you will see all the columns bound to the table. This is an intermediate layer between the data set and the table and allows a developer to add additional columns for use by the table. If you select it, you will most likely still see the column in question. Remove it from the bindings.
Jason
mrab
Okay, I deleted the group, then deleted the HARDWARE_NAME from the bindings. Now I'm getting this error on the HOST_NAME,
"Column binding "HOST_NAME" has referred to a data set column "HOST_NAME" which does not exist. (Element ID:833)."
If I delete HOST_NAME from the table and from the bindings, I get,
"Column binding "SERIAL_NUMBER" has referred to a data set column "SERIAL_NUMBER" which does not exist. (Element ID:833)"
I'm beginning to think there is something really basic here that I'm not getting, so feel free to refer me to documentation if needed! I don't want to waste your time.
Thanks so much,
Michele
JasonW
Michele
It looks to me like the query is failing. When you remove the binding it just moves to the next binding column and gives the error. If you create a new report and create a dataset with the same query (or any query) and just do a simple listing table do you get errors. BTW where do you have the mysql driver in the 3.7 viewer?
Jason
mrab
I created a simple report that used the mysql database. It ran in the Designer, but got the same error in the Engine:
Column binding "HOST_NAME" has referred to a data set column "HOST_NAME" which does not exist.
Since you asked about the mysql drivers, I began looking at them and compared the Designer driver to the Engine driver. The versions are different, 5.1.12 on the Designer and 5.0.4 on the Engine (we use the 5.0.4 version for other applications on this AIX server where we are running the Engine). I copied the 5.1.12 driver that came with the 2.5.2 BIRT Report Engine over to the 3.7.0 birt-viewer directory. We then restarted tomcat and now all the reports are working.
Not sure why some did work and others didn't, but we are good now.
Thanks so much for your help!
JasonW
Glad to read.
Jason