1

I have build a schema file with help of mondrian and sql server.

Now I am writing code in java for database connection using olap4j.

Code is :

    try {
        Class.forName("mondrian.olap4j.MondrianOlap4jDriver");
                    String connectionString1 = "type=OLAP name=sales driver=mondrian.olap4j.MondrianOlap4jDriver location=jdbc:mondrian:Jdbc=jdbc:sqlserver://serverName:1433;database=TempDatabase;Catalog=C:/Schema1.xml;JdbcDrivers=com.microsoft.sqlserver.jdbc.SQLServerDriver username=sa password=p@ssw0rd";
                    Connection jdbcConnection = DriverManager.getConnection(connectionString1);
                    OlapConnection connection = ((OlapWrapper)jdbcConnection).unwrap(OlapConnection.class);
  OlapStatement olapStatement = connection.createStatement();

    } catch (SQLException e) { 
            e.printStackTrace();
    }catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

But this is giving me Error while running the code :

java.lang.ClassNotFoundException: mondrian.olap4j.MondrianOlap4jDriver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.tuto.Test.main(Test.java:16)

I am using following jars :

1.asm.jar
2.asm-commons.jar
3.asm-tree.jar
4.javacup.jar
5.olap4j-1.0.0.445.jar
6.olap4j-xmla-1.0.0.445.jar
7.retroweaver.jar
8.retroweaver-rt.jar
9.sqljdbc.jar
10.xercesImpl.jar
11.olap4j-tck-1.0.0.445.jar

Please help me why I am getting this error?

Thanks.

Abhay
  • 687
  • 4
  • 13
  • 22

2 Answers2

0

You are trying to use the Mondrian implementation of olap4j, but Mondrian isn't in your class path. You will have to download Mondrian and its dependencies.

Also, you can remove the following libraries.

  • retroweaver*.jar
  • olap4j-tck
  • olap4j-xmla

The retroweaver runtime is only necessary if you use the JDK4 version of olap4j. The olap4j-tck is only useful if you are implementing an olap4j driver and wanted to test it.

Also note that your connection URL is pretty messed up. I'm pretty sure that it won't work. You should check the basic code examples provided here to get you started.

Luc
  • 672
  • 3
  • 8
0

If you are using Maven, here are the dependencies that I used to get it to work:

    <dependency>
      <groupId>org.olap4j</groupId>
      <artifactId>olap4j</artifactId>
      <version>1.1.0</version>
    </dependency>    
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>mondrian</artifactId>
      <version>3.2.1.13885</version>
    </dependency>   
    <dependency>
      <groupId>eigenbase</groupId>
      <artifactId>eigenbase-xom</artifactId>
      <version>1.3.4</version>
    </dependency>
    <dependency>
      <groupId>eigenbase</groupId>
      <artifactId>eigenbase-properties</artifactId>
      <version>1.1.4</version>
    </dependency>
    <dependency>
      <groupId>eigenbase</groupId>
      <artifactId>eigenbase-resgen</artifactId>
      <version>1.3.5</version>
    </dependency>        
<dependency>
    <groupId>commons-pool</groupId>
    <artifactId>commons-pool</artifactId>
    <version>1.4</version>
</dependency>
<dependency>
 <groupId>commons-dbcp</groupId>
 <artifactId>commons-dbcp</artifactId>
 <version>1.4</version>
</dependency>
<dependency>
<groupId>commons-vfs</groupId>
<artifactId>commons-vfs</artifactId>
<version>1.0</version>
</dependency>
<dependency>
 <groupId>commons-math</groupId>
 <artifactId>commons-math</artifactId>
 <version>1.2</version>
</dependency>
<dependency>
 <groupId>commons-collections</groupId>
 <artifactId>commons-collections</artifactId>
 <version>3.2.1</version>
</dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>

and with this repo:

   <repository>
    <id>pentaho-releases</id>
    <url>http://repository.pentaho.org/artifactory/repo/</url>
   </repository>
mmaceachran
  • 3,178
  • 7
  • 53
  • 102