Hi Julian,<br>Thanks for your answer. I have made some changes following your instructions.<br>I have a postgresql database and a cuble defined into mondrian in a xml file.<br>Now my code is as follows:<br> Class.forName("mondrian.olap4j.MondrianOlap4jDriver");<br>
OlapConnection connection =<br> (OlapConnection) DriverManager.getConnection(<br> "jdbc:mondrian:Jdbc=jdbc:postgresql://localhost:5432/CdM_db;JdbcUser=postgres;JdbcPassword=Tbcrkpi47a8;" +<br>
"Catalog=/descargas/apache-tomcat-5.5.27/webapps/mondrian-embedded/WEB-INF/queries/tickets4.mondrian.xml;" +<br> "Role='California manager'");<br> OlapWrapper wrapper = (OlapWrapper) connection;<br>
OlapConnection olapConnection = (OlapConnection) wrapper.unwrap(OlapConnection.class);<br> OlapStatement statement = olapConnection.createStatement();<br><br>And I get this error:<br>Exception in thread "main" mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while creating connection pool (with URI jdbc:postgresql://localhost:5432/CdM_db)<br>
at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:785)<br> at mondrian.olap.Util.newInternal(Util.java:1435)<br> at mondrian.rolap.RolapConnection.createDataSource(RolapConnection.java:396)<br>
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:173)<br> at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:117)<br> at mondrian.olap.DriverManager.getConnection(DriverManager.java:110)<br>
at mondrian.olap.DriverManager.getConnection(DriverManager.java:74)<br> at mondrian.olap4j.MondrianOlap4jConnection.<init>(MondrianOlap4jConnection.java:111)<br> at mondrian.olap4j.FactoryJdbc3Impl$MondrianOlap4jConnectionJdbc3.<init>(FactoryJdbc3Impl.java:110)<br>
at mondrian.olap4j.FactoryJdbc3Impl.newConnection(FactoryJdbc3Impl.java:30)<br> at mondrian.olap4j.MondrianOlap4jDriver.connect(MondrianOlap4jDriver.java:109)<br> at java.sql.DriverManager.getConnection(Unknown Source)<br>
at java.sql.DriverManager.getConnection(Unknown Source)<br> at olap.App.main(App.java:22)<br>Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/ObjectPool<br> at mondrian.rolap.RolapConnection.createDataSource(RolapConnection.java:392)<br>
... 11 more<br><br>What I'm doing wrong?<br><br><div class="gmail_quote">2009/6/19 Julian Hyde <span dir="ltr"><<a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Your connect string is wrong. Something like<br>
<br>
jdbc:mondrian:Datasource=jdbc/SampleData;Catalog=./foodmart/FoodMart.xml;<br>
<br>
or<br>
<br>
jdbc:mondrian:Jdbc=jdbc:mysql://localhost/foodmart;JdbcUser=foodmart;JdbcPas<br>
sword=foodmart;Catalog=./foodmart/FoodMart.xml;<br>
<br>
Always starts 'jdbc:mondrian:' if you're using the mondrian olap4j driver,<br>
or 'jdbc:xmla:' if you're using the XMLA driver.<br>
<br>
Then you need 'Datasource=' or, more commonly, 'Jdbc=' to give it the URL of<br>
the underlying database.<br>
<br>
Other options for the mondrian driver are documented here:<br>
<br>
<a href="http://mondrian.pentaho.org/documentation/configuration.php#Connect_string_p" target="_blank">http://mondrian.pentaho.org/documentation/configuration.php#Connect_string_p</a><br>
roperties<br>
<br>
<br>
Julian<br>
<br>
<br>
<br>
> -----Original Message-----<br>
> From: <a href="mailto:mondrian-bounces@pentaho.org">mondrian-bounces@pentaho.org</a><br>
> [mailto:<a href="mailto:mondrian-bounces@pentaho.org">mondrian-bounces@pentaho.org</a>] On Behalf Of Kezern<br>
> Sent: Friday, June 19, 2009 12:30 AM<br>
> To: <a href="mailto:mondrian@pentaho.org">mondrian@pentaho.org</a><br>
> Subject: [Mondrian] begining with olap4j<br>
><br>
> Hi all,<br>
> I have just started with mondrian and olap4j. I'm trying to<br>
> build a java<br>
> class which connects to my mondrian and extract some data.<br>
> I have deployed the mondrian-embedded.war into my tomcat and<br>
> I have made<br>
> some test with jpivot.<br>
> Now I'm building the new class in eclipse following the<br>
> instrucions of<br>
> the olap4j functional specifications.<br>
> I have written this class.<br>
><br>
> package olap;<br>
><br>
> import java.sql.DriverManager;<br>
> import java.sql.SQLException;<br>
> import org.apache.log4j.Logger;<br>
><br>
> import org.olap4j.*;<br>
><br>
> public class App<br>
> {<br>
> public static void main( String[] args ) throws<br>
> ClassNotFoundException, SQLException<br>
> {<br>
> System.out.println( "Hello World!" );<br>
> Class.forName("mondrian.olap4j.MondrianOlap4jDriver");<br>
> OlapConnection connection =<br>
> (OlapConnection) DriverManager.getConnection(<br>
><br>
> "jdbc:mondrian:local:jdbcURL=jdbc:odbc:MondrianFoodMart;" +<br>
> "Catalog=/WEB-INF/queries/FoodMart.xml;" +<br>
> "Role='California manager'");<br>
> OlapWrapper wrapper = (OlapWrapper) connection;<br>
> OlapConnection olapConnection = (OlapConnection)<br>
> wrapper.unwrap(OlapConnection.class);<br>
> OlapStatement statement = olapConnection.createStatement();<br>
><br>
> // OlapResult result =<br>
> // statement.execute(<br>
> // "SELECT {[Measures].[Unit Sales]} ON COLUMNS,\n" +<br>
> // " {[Product].Members} ON ROWS\n" +<br>
> // "FROM [Sales]");<br>
> }<br>
> }<br>
><br>
> And I get this error when the class tries to make de connection:<br>
> Exception in thread "main" mondrian.olap.MondrianException: Mondrian<br>
> Error:Internal error: Connect string<br>
> 'local:jdbcURL=jdbc:odbc:MondrianFoodMart;<br>
> Catalog=/WEB-INF/queries/FoodMart.xml; Role=California manager' must<br>
> contain either 'Jdbc' or 'DataSource'<br>
> I have been looking for a solution but I couldn't find one.<br>
> Thanks every body.<br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Mondrian mailing list<br>
> <a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a><br>
> <a href="http://lists.pentaho.org/mailman/listinfo/mondrian" target="_blank">http://lists.pentaho.org/mailman/listinfo/mondrian</a><br>
><br>
><br>
><br>
<br>
</blockquote></div><br>