You are not logged in.
Dear users of this forum,
we are pleased to inform you that we will be updating the software behind this forum in the near future.
Existing posts, users and categories will remain untouched.
Important:
We will keep you informed in the pinned thread.
Kind regards,
Your ReportServer Team
Liebe Nutzer dieses Forums,
wir freuen uns, euch mitteilen zu können, dass wir in naher Zukunft die Software hinter diesem Forum aktualisieren werden.
Existierende Beiträge, Nutzer und Kategorien bleiben weiterhin bestehen!
Wichtig:
Wir halten euch im angepinnten Beitrag auf dem Laufenden!
Mit vielen Grüßen
Euer ReportServer Team
Hello,
I am dealing with a Postgresql database to create a new Mondrian DataSource. A relational DataSource works fine adding to the Report Server lib path the Postgresql 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 Postgresql Database on the same Postgresql 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: Mondrian
Username: tad Password: password (the same credentials that i use for relational database conection since both databases are in the same instance)
URL: jdbc:postgresql://ip:port/database_name(I cant share ip and database name as per policy )
Properties:
type=OLAP
name=Mondrian
driver=mondrian.olap4j.MondrianOlap4jDriver
jdbcDrivers=org.postgresql.Driver
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:
The server requested password-based authentication, but no password was provided.
net.datenwerke.gxtdto.client.servercommunication.exceptions.ServerCallFailedException: The server requested password-based authentication, but no password was provided.<br> at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl.loadCubesFor(SaikuRpcServiceImpl.java:103)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> at sun.reflect.GeneratedMethodAccessor139.invoke(Unknown Source)<br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br> at java.lang.reflect.Method.invoke(Method.java:498)<br> at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)<br> at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)<br> at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)<br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)<br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)<br> at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)<br> at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)<br> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)<br> at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)<br> at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)<br> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br> at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)<br> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br> at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)<br> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br> at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)<br> at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)<br> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)<br> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)<br> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:221)<br> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)<br> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)<br> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)<br> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)<br> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)<br> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)<br> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)<br> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)<br> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)<br> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)<br> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)<br> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)<br> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)<br> at java.lang.Thread.run(Thread.java:748)<br>Caused by: org.postgresql.util.PSQLException: The server requested password-based authentication, but no password was provided.<br> at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:484)<br> at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:208)<br> at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)<br> at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:215)<br> at org.postgresql.Driver.makeConnection(Driver.java:406)<br> at org.postgresql.Driver.connect(Driver.java:274)<br> at java.sql.DriverManager.getConnection(DriverManager.java:664)<br> at java.sql.DriverManager.getConnection(DriverManager.java:208)<br> at net.datenwerke.rs.saiku.service.saiku.OlapUtilServiceImpl.getOlapConnection(OlapUtilServiceImpl.java:187)<br> at net.datenwerke.rs.saiku.service.saiku.OlapUtilServiceImpl.getCubes(OlapUtilServiceImpl.java:104)<br> at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl.loadCubesFor(SaikuRpcServiceImpl.java:100)<br> ... 48 more<br>
Offline
Hi swapnil,
we look into it and get back to you.
wbr jan
Offline
Hi swapnil.solanki,
could you please try with this url:
jdbc:mondrian:Jdbc=jdbc:postgresql://IP:port/DBNAME
Mondrian datasources have a "jdbc:mondrian:Jdbc=" prefix, after which the "normal" jdbc-URL is written. Please note that JDBC properties are written also with a prefix:
Example property: jdbc.databaseName=yourDB instead of the "normal" databaseName=yourDB property. This property is just an example, with PostgreSQL you write the DBName in the URL, so for your case:
jdbc:mondrian:Jdbc=jdbc:postgresql://IP:port/DBNAME
Please let us know if this works for you.
Regards,
Eduardo
Offline
Dear Eduardo,
Ya it worked thanks
Offline
For completeness:
The correct URL for selecting the schema is:
jdbc:mondrian:Jdbc=jdbc:postgresql://IP:port/DBNAME?currentSchema="myschema"
Regards,
Eduardo
Offline