PDA

View Full Version : doubt



totoelgalo
02-28-2003, 03:22 AM
Hi
I've got some troubles building a new analysis. Does anyone can tell me if my schema is correct?
<!--
== $Id: //open/mondrian/demo/FoodMart.xml#6 $
== This software is subject to the terms of the Common Public License
== Agreement, available at the following URL:
==
http://www.opensource.org/licenses/cpl.html.
== (C) Copyright 2000-2002 Kana Software, Inc. and others.
== All Rights Reserved.
== You must accept the terms of that agreement to use this software.
-->
<?xml version="1.0" encoding="utf-8"?>
<Schema xmlns="
http://tempuri.org/XMLFile2.xsd
">
<Cube name="Sales">
<Table name="data"/>
<Dimension name="country" foreignKey="country_id">
<Hierarchy hasAll="true" allMemberName="country" primaryKey="id">
<Table name="country" />
<Level name="country" column="name" uniqueMembers="true"/>
</Hierarchy>
</Dimension>
<Measure name="fleetnumber" column="fleetnumber" aggregator="sum" formatString="#,###"/>
<Measure name="rating" column="rating" aggregator="sum" formatString="#,###"/>
</Cube>
</Schema>
I'm trying this query
select {[Measures].[rating]} on columns
from Sales
And got this error:
Results: Error: Internal error: while creating RolapSchema (Provider=mondrian; jdbc:mysql://197.168.9.14/ald?user=user; password=X_XXXXXXX; Catalog=file:///d:/mondrian-0.4/demo/ALDCube_data.xml)

jhyde
02-28-2003, 08:53 AM
There's nothing obviously wrong with the XML.
I've not used the 'xmlns' attribute, but I don't expect it to cause a problem.
Can you send me a more complete error stack?

totoelgalo
03-03-2003, 01:24 AM
the complete stack is
mondrian.resource.ChainableRuntimeException: Internal error: while creating Rola
pSchema (Provider=mondrian; jdbc:mysql://95.250.9.15/ald?user=user; password=X
_xxxxxx; Catalog=file:///d:/mondrian-0.4/demo/ALDCube_subsidiary.xml)
at mondrian.olap.MondrianResource.newInternal(MondrianResource.java:45)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:62)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:42)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:38)
at mondrian.web.servlet.MDXQueryServlet.processRequest(MDXQueryServlet.j
ava:81)
at mondrian.web.servlet.MDXQueryServlet.doGet(MDXQueryServlet.java:168)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve
.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
r.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
va:1125)
at java.lang.Thread.run(Thread.java:536)
Caused by: java.sql.SQLException: The url cannot be null
at java.sql.DriverManager.getConnection(DriverManager.java:489)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:59)
... 36 more
caused by
java.sql.SQLException: The url cannot be null
at java.sql.DriverManager.getConnection(DriverManager.java:489)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:59)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:42)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:38)
at mondrian.web.servlet.MDXQueryServlet.processRequest(MDXQueryServlet.j
ava:81)
at mondrian.web.servlet.MDXQueryServlet.doGet(MDXQueryServlet.java:168)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve
.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
r.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
va:1125)
at java.lang.Thread.run(Thread.java:536)

jhyde
03-03-2003, 05:45 AM
I think the problem is with your connect string; you need to use the 'Jdbc' keyword, and enclose the JDBC connect string in quotes. Try
Provider=mondrian; Jdbc='jdbc:mysql://95.250.9.15/ald?user=user&password=X _xxxxxx;'; Catalog=file:///d:/mondrian-0.4/demo/ALDCube_subsidiary.xml
Note that, depending on where you define this connect string, you may need to escape the '&' somehow (see install.html for more details).
Looks like you're running 0.4. 0.5 has better error messages; you could also use the new keywords JdbcUser and JdbcPassword, like this:
Provider=mondrian; Jdbc='jdbc:mysql://95.250.9.15/ald'; JdbcUser=user; JdbcPassword=X_xxxxx; Catalog=file:///d:/mondrian-0.4/demo/ALDCube_subsidiary.xml

totoelgalo
03-05-2003, 01:53 AM
I go to a 0.5 version my error is now little different
I don't know where it is calling a Postgresql driver!
Could not find driver org.hsqldb.jdbcDriver
mondrian.resource.ChainableRuntimeException: Internal error: while creating Rola
pSchema (Provider=mondrian; Jdbc=jdbc:mysql://195.68.9.4/ald; JdbcUser=db1user;
JdbcPassword=X_VGFD9h; Catalog=file:///d:/mondrian-05/demo/ALDCube_data.xml)
at mondrian.olap.MondrianResource.newInternal(MondrianResource.java:45)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:105)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:65)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:113)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:51)
at mondrian.web.servlet.MDXQueryServlet.processRequest(MDXQueryServlet.j
ava:76)

jhyde
03-05-2003, 06:30 AM
You definitely need to tell Mondrian to load the PostgreSQL driver. The easiest way is to include it in the connect string:
Provider=mondrian; Jdbc=jdbc:mysql://195.68.9.4/ald; JdbcUser=db1user; JdbcPassword=X_VGFD9h; Catalog=file:///d:/mondrian-05/demo/ALDCube_data.xml;JdbcDrivers=org.postgresql.Driver
If that doesn't help, please post the FULL error stack. I can't tell much from the top portion which you posted.

totoelgalo
03-06-2003, 10:49 PM
I send you the complete stack
I don't understand the first line
Where do the project is calling hsqldb driver?
I'm not using postgre but MySQL, i'ts a new error which was not in the 0.4 version.
I think my connection string is still bad but...
Could not find driver org.hsqldb.jdbcDriver
mondrian.resource.ChainableRuntimeException: Internal error: while creating Rola
pSchema (Provider=mondrian; Jdbc=jdbc:mysql://195.68.9.4/ald; JdbcUser=db1user;
JdbcPassword=X_VGFD9h; Catalog=file:///d:/mondrian-05/demo/ALDCube_data.xml)
at mondrian.olap.MondrianResource.newInternal(MondrianResource.java:45)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:105)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:65)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:113)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:51)
at mondrian.web.servlet.MDXQueryServlet.processRequest(MDXQueryServlet.j
ava:76)
at mondrian.web.servlet.MDXQueryServlet.doGet(MDXQueryServlet.java:190)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve
.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
r.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
va:1125)
at java.lang.Thread.run(Thread.java:536)
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:102)
... 37 more
caused by
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:102)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:65)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:113)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:51)
at mondrian.web.servlet.MDXQueryServlet.processRequest(MDXQueryServlet.j
ava:76)
at mondrian.web.servlet.MDXQueryServlet.doGet(MDXQueryServlet.java:190)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve
.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
r.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
va:1125)
at java.lang.Thread.run(Thread.java:536)

jhyde
03-07-2003, 02:18 PM
The key error here is
java.sql.SQLException: No suitable driver
You can fix this by adding
JdbcDrivers=com.mysql.jdbc.Driver
(or whatever JDBC driver you are using) to the connect string. You also need to ensure that the driver is on your CLASSPATH.