Error creating new Mondrian Data Source

Hello,

I am dealing with a SQL Server Database to create a new Mondrian DataSource. A relational DataSource works fine adding to the Report Server lib path the microsoft jdbc client JAR file and configuring database URL, user and password, I am able to create BIRT reports based on this relational DataSources. The problem comes when i try to create a new Mondrian Datasource based on a Star Schema SQL Server Database on the same SQL server as Relational one. I have created the OLAP schema with Pentaho Schema Workbench, i am able to navigate with the tool thorugh the Star Schema Database with the jdbc connection. I created the Mondrian Datasource with the following configuration:

        Name: Test
        Username: user Password: password (the same credentials that i use for relational database conection since both databases are in the same instance)

        URL: jdbc:sqlserver://127.0.0.1;databaseName=TEST_DW (The same URL I use for relational database, working with BIRT reports.)

        Properties:

          type=OLAP
          name=Test
          driver=mondrian.olap4j.MondrianOlap4jDriver
          jdbcDrivers=com.microsoft.sqlserver.jdbc.SQLServerDriver

         Schema: (Schema generated with Pentaho Schema Workbench)

When I click on apply i am not getting any Error (there is no test connection so i guess there is no reason why i should get any error) , but once i tried to create a new Saiku report using this Datasource, i get the following login failed error (

Login failed for user ‘’. ClientConnectionId:680c2f53-7744-489a-a960-5c8433b93ec7

net.datenwerke.gxtdto.client.servercommunication.exceptions.ServerCallFailedException: Login failed for user ‘’. ClientConnectionId:d6ae3d0f-c4f5-49be-9bf4-92e62b6872c6

at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl.loadCubesFor(SaikuRpcServiceImpl.java:98)

at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)

at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)

at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333)

at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)

at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)

at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)

at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)

at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)

at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)

at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)

at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)

at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)

at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)

at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)

at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)

at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)

at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)

at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)

at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)

at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)

at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)

at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)

at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)

at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)

at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687)

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2508)

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2497)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user ‘’. ClientConnectionId:d6ae3d0f-c4f5-49be-9bf4-92e62b6872c6

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217)

at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:279)

at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:99)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4343)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3159)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:42)

at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3122)

at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2444)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1980)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1627)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1458)

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:772)

at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at net.datenwerke.rs.saiku.service.saiku.OlapUtilServiceImpl.getOlapConnection(OlapUtilServiceImpl.java:133)

at net.datenwerke.rs.saiku.service.saiku.OlapUtilServiceImpl.getCubes(OlapUtilServiceImpl.java:68)

at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl.loadCubesFor(SaikuRpcServiceImpl.java:95)

… 50 more

Since i dont get this login error nor in ReportServer Relational Database conection neither in Pentaho JDBC connection, could somebody help me to understand what i am doing wrong?

Thanks.

Hi, i solved the login error adding to the URL jdbc connection the following:

URL : jdbc:mondrian:Jdbc=jdbc:sqlserver://127.0.0.1;databaseName=TEST_DW

I can create the report based on the cube i created, but when i try to use the MDX editor, i get still another error everytime i try to add a Dimension from the cube:

SQLServerException: Invalid object name ‘dbo.XXX’.

I have found this post related too:

https://forum.reportserver.net/viewtopic.php?id=691

Could somebody help me on this?

Thanks

Hi mahdsip,

the correct URL should be:
jdbc:mondrian:Jdbc=jdbc:sqlserver://127.0.0.1;jdbc.databaseName=TEST_DW

Cheers,
Eduardo