#1 2023-06-09 17:01:02

johnf
Member
Registered: 2023-06-09

Mondrian postgres connection fail

I'm getting a this error, "SQLException: No suitable driver found for jdbc:postgres://localhost:5432/logs_test" when trying to connect to a postgres DB for a mondrian datasource. The connection I set up directly to the postgres server with the same url, username and password works fine.

postgres connection:

Database: postgresql (from dropdown)
Username: postgres
URL: jdbc:postgresql://localhost:5432/logs_test


mondrian connection:

Username: postgres
URL: jdbc:mondrian:Jdbc=jdbc:postgres://localhost:5432/logs_test

Properties:
type=OLAP
name=logs
driver=mondrian.olap4j.MondrianOlap4jDriver
jdbcDrivers=org.postgresql.Driver

schema: test cube made from pentaho schema workbench


Here is the error details:
net.datenwerke.rs.adminutils.client.datasourcetester.ConnectionTestFailedException: Connection test failed in datasource "logs": Mondrian Error:Internal error: Error while creating SQL connection: Jdbc=jdbc:postgres://localhost:5432/logs_test; JdbcUser=postgres
<br>    at net.datenwerke.rs.saiku.service.saiku.OlapUtilServiceImpl.testConnection(OlapUtilServiceImpl.java:613)
<br>    at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl.testConnection(SaikuRpcServiceImpl.java:137)
<br>    at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl$$EnhancerByGuice$$1748744172.GUICE$TRAMPOLINE(&lt;generated&gt;)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74)
<br>    at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:64)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
<br>    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
<br>    at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
<br>    at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55)
<br>    at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl$$EnhancerByGuice$$1748744172.testConnection(&lt;generated&gt;)
<br>    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
<br>    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
<br>    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
<br>    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
<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.rs.saiku.server.rest.SaikuRpcServiceImpl$$EnhancerByGuice$$1748744172.GUICE$TRAMPOLINE(&lt;generated&gt;)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74)
<br>    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
<br>    at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
<br>    at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55)
<br>    at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl$$EnhancerByGuice$$1748744172.processCall(&lt;generated&gt;)
<br>    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)
<br>    at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl$$EnhancerByGuice$$1748744172.GUICE$TRAMPOLINE(&lt;generated&gt;)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74)
<br>    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
<br>    at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
<br>    at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55)
<br>    at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl$$EnhancerByGuice$$1748744172.processCall(&lt;generated&gt;)
<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:555)
<br>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
<br>    at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl$$EnhancerByGuice$$1748744172.GUICE$TRAMPOLINE(&lt;generated&gt;)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74)
<br>    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
<br>    at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
<br>    at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
<br>    at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55)
<br>    at net.datenwerke.rs.saiku.server.rest.SaikuRpcServiceImpl$$EnhancerByGuice$$1748744172.service(&lt;generated&gt;)
<br>    at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290)
<br>    at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280)
<br>    at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184)
<br>    at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:89)
<br>    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
<br>    at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:94)
<br>    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
<br>    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:121)
<br>    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
<br>    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
<br>    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
<br>    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
<br>    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
<br>    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
<br>    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
<br>    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
<br>    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
<br>    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
<br>    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
<br>    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
<br>    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
<br>    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
<br>    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
<br>    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
<br>    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
<br>    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
<br>    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
<br>    at java.base/java.lang.Thread.run(Thread.java:834)
<br>Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while creating SQL connection: Jdbc=jdbc:postgres://localhost:5432/logs_test; JdbcUser=postgres
<br>    at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:1002)
<br>    at mondrian.olap.Util.newInternal(Util.java:2486)
<br>    at mondrian.olap.Util.newError(Util.java:2502)
<br>    at mondrian.rolap.RolapConnection.&lt;init&gt;(RolapConnection.java:245)
<br>    at mondrian.rolap.RolapSchema.&lt;init&gt;(RolapSchema.java:188)
<br>    at mondrian.rolap.RolapSchema.&lt;init&gt;(RolapSchema.java:216)
<br>    at mondrian.rolap.RolapSchemaPool.createRolapSchema(RolapSchemaPool.java:295)
<br>    at mondrian.rolap.RolapSchemaPool.getByKey(RolapSchemaPool.java:228)
<br>    at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:167)
<br>    at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:73)
<br>    at mondrian.rolap.RolapConnection.&lt;init&gt;(RolapConnection.java:161)
<br>    at mondrian.rolap.RolapConnection.&lt;init&gt;(RolapConnection.java:93)
<br>    at mondrian.olap.DriverManager.getConnection(DriverManager.java:113)
<br>    at mondrian.olap.DriverManager.getConnection(DriverManager.java:69)
<br>    at mondrian.olap4j.MondrianOlap4jConnection.&lt;init&gt;(MondrianOlap4jConnection.java:165)
<br>    at mondrian.olap4j.FactoryJdbc4Plus$AbstractConnection.&lt;init&gt;(FactoryJdbc4Plus.java:323)
<br>    at mondrian.olap4j.FactoryJdbc41Impl$MondrianOlap4jConnectionJdbc41.&lt;init&gt;(FactoryJdbc41Impl.java:118)
<br>    at mondrian.olap4j.FactoryJdbc41Impl.newConnection(FactoryJdbc41Impl.java:32)
<br>    at mondrian.olap4j.MondrianOlap4jDriver.connect(MondrianOlap4jDriver.java:97)
<br>    at net.datenwerke.rs.saiku.service.saiku.OlapUtilServiceImpl.getOlapConnection(OlapUtilServiceImpl.java:343)
<br>    at net.datenwerke.rs.saiku.service.saiku.OlapUtilServiceImpl.testConnection(OlapUtilServiceImpl.java:609)
<br>    ... 74 more
<br>Caused by: java.sql.SQLException: No suitable driver found for jdbc:postgres://localhost:5432/logs_test
<br>    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
<br>    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:189)
<br>    at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:78)
<br>    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
<br>    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
<br>    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
<br>    at mondrian.rolap.RolapConnection.&lt;init&gt;(RolapConnection.java:227)
<br>    ... 91 more
<br>

Offline

#2 2023-06-12 08:05:33

eduardo
Administrator
Registered: 2016-11-01
Website

Re: Mondrian postgres connection fail

Hi johnf,

can you pls post a screenshot of your general info here: administration -> system console -> general info

you can use http://imgbb.com for this.

Regards,
Eduardo

Offline

#3 2023-06-12 12:10:55

johnf
Member
Registered: 2023-06-09

Re: Mondrian postgres connection fail

Hi Eduardo,

here are screenshots of the general info,

Thanks,
John

https://ibb.co/54WTyxX
https://ibb.co/jbVk08V
https://ibb.co/25qFfmQ

Offline

#4 2023-06-12 12:19:34

johnf
Member
Registered: 2023-06-09

Re: Mondrian postgres connection fail

Sorry,

I found my issue. I was using jdbc:mondrian:Jdbc=jdbc:postgres instead of jdbc:mondrian:Jdbc=jdbc:postgresql.

Thanks.

Offline

Board footer

Powered by FluxBB