Error on crosstab with datasource [message #501673] |
Thu, 03 December 2009 11:48 |
Missing name Missing name Messages: 94 Registered: November 2009 |
Member |
|
|
Hi,
I have a datasource whose URL etc values are set at rutime in code using
reportEngine.getConfig().getAppContext().put(propName, propValue);
This works fine for tables and charts but when I create a datacube and crosstab (in tomcat) it falls over with
/olap/cube_Data Cube doesn't exist ( 1 time(s) )
detail : org.eclipse.birt.report.engine.api.EngineException: /olap/cube_Data Cube doesnt exist/olap/cube_Data Cube doesn't exist at org.eclipse.birt.report.engine.executor.ExecutionContext.add Exception(ExecutionContext.java:1109
In the tomcat log I can see
03-Dec-2009 11:41:15 org.eclipse.birt.data.engine.odaconsumer.ConnectionManager openConnection
SEVERE: Cannot open connection.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: There is an error in get connection, No suitable driver found for localhost.
Futher in the log there is an error (though I think this is caused by the connection error):
java.lang.ClassCastException: org.eclipse.birt.report.engine.content.impl.ForeignContent cannot be cast to org.eclipse.birt.report.engine.content.IDat
aContent
at org.eclipse.birt.report.engine.script.internal.OnRenderScrip tVisitor.visitDataItem(OnRenderScriptVisitor.java:97)
at org.eclipse.birt.report.engine.ir.DataItemDesign.accept(Data ItemDesign.java:67)
at org.eclipse.birt.report.engine.script.internal.OnRenderScrip tVisitor.onRender(OnRenderScriptVisitor.java:74)
at org.eclipse.birt.report.engine.presentation.LocalizedContent Visitor.handleOnRender(LocalizedContentVisitor.java:1102)
at org.eclipse.birt.report.engine.presentation.LocalizedContent Visitor.visitForeign(LocalizedContentVisitor.java:491)
at org.eclipse.birt.report.engine.content.impl.ForeignContent.a ccept(ForeignContent.java:69)
at org.eclipse.birt.report.engine.presentation.LocalizedContent Visitor.localize(LocalizedContentVisitor.java:150)
at org.eclipse.birt.report.engine.internal.executor.l18n.Locali zedReportItemExecutor.execute(LocalizedReportItemExecutor.ja va:36)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStacking LM.layoutNodes(HTMLBlockStackingLM.java:63)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout (HTMLPageLM.java:90)
It seems it cant find the driver for some reason. I know the driver is there as same datasource works for chart/tables. There are similar threads about this:
http:// www.eclipse.org/forums/index.php?t=msg&goto=362063&S =5ff96d04721ef8f261f33d7d2de754b2
the datacube and crosstab work perfectly if I explicitly specify the database details in the datasource itself, so it must be related to the setting of them using ReportConfig, but since they are set only once and works the chart and table....?
Does anyone have any idea whats going on?
thanks
[Updated on: Thu, 03 December 2009 16:46] Report message to a moderator
|
|
|
|
Re: Error on crosstab with datasource [message #501757 is a reply to message #501724] |
Thu, 03 December 2009 17:16 |
|
Trevor
If you hard code the driver url instead of using:
reportEngine.getConfig().getAppContext().put(propName, propValue);
Does it work. This may be a bug with the cube engine not having access
to the app context. What version of BIRT are you using?
Jason
TREVOR.HIGGINS@FINEOS.COM wrote:
> It seems to be the datacube associated with the crosstab because if I
> try to create a chart and use the datacube it also falls over, where as
> a chart with just the underlying dataset is fine.....
>
> Again any help would be great
|
|
|
|
Re: Error on crosstab with datasource [message #501783 is a reply to message #501764] |
Thu, 03 December 2009 18:48 |
|
Any chance you can try this with 2.5.1 before logging a bug.
TREVOR.HIGGINS@FINEOS.COM wrote:
> Hi Jason,
> In the RCP designer, if I edit the datasource and do the following:
>
> 1) Remove the reportContext.getAppContext().get("MyOdaUserName") etc.
> from the property binding section, so the datasource is disconnected
> from the java code in tomcat and
>
> 2) Explicity give values to Driver Class, Driver Url, User Name, Password
> then it works perfectly.
>
> I'm using RCP designer version 2.3.2.
>
> I've tried a few things, 1) Tried to set the datasource details using
> javascript on the datacube but you cant add javascript to a cube.
>
> 2) Use separate dataset for charts and datacube/crosstab
>
> etc.
>
> None of the above made any difference
>
> Do you think this is a bug?
> thanks
|
|
|
|
|
|
|
Re: Error on crosstab with datasource [message #501973 is a reply to message #501961] |
Fri, 04 December 2009 15:55 |
|
Trevor,
You can log the bug on 2.3.1 but I doubt the fix will get back ported.
The INFO you are getting in the log should not cause any issue, but it
would be good to add it to a bugzilla entry.
Jason
TREVOR.HIGGINS@FINEOS.COM wrote:
> Hi Jason,
> Yes this is working in 2.5.1 (using 2.5.1 designer and runtime). Do you
> want me to log a bug against 2.3.1? Is there any chance this would be
> fixed in that version?
>
> Also, when I upgraded I noticed the following repeated in the alot
> tomcat logs which was not there with 2.3.1:
>
> INFO: Ignoring the UnsupportedOperationException thrown by ODA driver
> (org.eclipse.birt.report.data.oda.jdbc) on IQuery#setSpecification
>
> Any ideas what that is or if its anything to worry about?
>
> Trevor
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.05855 seconds