You are not logged in.
Pages: 1
i have a mondrian schema (1 dimesion and one fact table).
the connection to the database is ok but i still get this message (see below).
i verified : the table exists in he database.
Thanks !
----------------------Error message-----------------------------
État HTTP 500 – Internal Server Error
Type Rapport d''exception
message mondrian.rolap.RolapSchema$MondrianSchemaException: Table 'rs_caht' does not exist in database. (in Table) (at line 2, column 2)
description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
exception
java.lang.RuntimeException: mondrian.rolap.RolapSchema$MondrianSchemaException: Table 'rs_caht' does not exist in database. (in Table) (at line 2, column 2)
net.datenwerke.rs.saiku.server.rest.resources.OlapDiscoverResource.getConnections(OlapDiscoverResource.java:129)
----------------------------------the schema
<Schema name='Vente' metamodelVersion='4.0'>
<PhysicalSchema>
<Table name="rs_caht" schema='dbo'>
<Key>
<Column name='EC_ECMONTANT' />
</Key>
</Table>
<Table name='rs_periodes' schema='dbo'>
<Key>
<Column name='date_id'/>
</Key>
</Table>
</PhysicalSchema>
<Cube name='purchasesCube'>
<Dimensions>
<Dimension name='Periodes des ventes' table='rs_periodes' key='date_id'>
<Attributes>
<Attribute name='Annee' keyColumn='annee' />
</Attributes>
</Dimension>
</Dimensions>
<MeasureGroups>
<MeasureGroup name='Ventes' table='rs_caht' schema='dbo'>
<Measures>
<Measure name='CAHT' column='EC_ECMONTANT' aggregator='sum' visible='true' formatString='Currency'>
</Measure>
</Measures>
<DimensionLinks>
<ForeignKeyLink dimension='Periodes des ventes' foreignKeyColumn='ec_dateecriture'/>
</DimensionLinks>
</MeasureGroup>
</MeasureGroups>
</Cube>
</Schema>
Last edited by arezki (2018-12-28 19:51:12)
Offline
Hi arezki,
are you passing the database in your connection string? Please check here:
https://groups.google.com/a/saiku.meteo … ScLfXsOxTk
It's occour becouse you aren't especifing the correct table to the Mondrian, and them it connect to a wrong database, and can't find your table.
You should pass a parameter like: location=jdbc:mondrian:Jdbc=jdbc:sqlserver://myserver:1433;Catalog=mondrian:///datasources/MyCube.xml;JdbcDrivers=com.microsoft.sqlserver.jdbc.SQLServerDriver;jdbc.databaseName=MyDatabase
Attention to following string: "jdbc.databaseName=MyDatabase". Mondrian will take it and parse to build the connection. It will be executed in DefaultDataServucesProvider.createDataSource() and RolapConnection.getJdbcProperties().
Further, please try first with a simple dynamic table on your rs_caht table. If it is reachable for a dynamic table, use the same (adapted) connection string for the mondrian datasource and use the same db user for this.
Regards,
Eduardo
Offline
Hi Eduardo
I added the name of the database and I have this new message.
message java.lang.NullPointerException
description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
exception
java.lang.RuntimeException: java.lang.NullPointerException
net.datenwerke.rs.saiku.server.rest.resources.OlapDiscoverResource.getConnections(OlapDiscoverResource.java:129)
sun.reflect.GeneratedMethodAccessor102.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
cause mère
java.lang.NullPointerException
net.datenwerke.rs.saiku.server.rest.resources.OlapDiscoverResource.getConnections(OlapDiscoverResource.java:121)
sun.reflect.GeneratedMethodAccessor102.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de ce serveur.
-----------
Thanks
Offline
Hi arezki,
"please try first with a simple dynamic table on your rs_caht table. If it is reachable for a dynamic table, use the same (adapted) connection string for the mondrian datasource and use the same db user for this."
did it work with a dynamic list ? Can you post the url you are using for this?
Regards,
Eduardo
Offline
hi
with dynamic list, it 's ok. Datasource URL : jdbc:sqlserver://localhost;databaseName=rs_database
it works.
With mondrian :
- Datasource URL : jdbc:mondrian:Jdbc=jdbc:sqlserver://localhost;databaseName=rs_database
- Properties :
type=OLAP
name=dm_Chiffre
driver=mondrian.olap4j.MondrianOlap4jDriver
jdbcDrivers=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.databaseName=rs_database
i use the same user name and password.
thanks
Last edited by arezki (2019-01-03 06:41:20)
Offline
Hi arezki,
can you please send us the DDLs of both tables rs_caht and rs_periodes ?
Regards,
Eduardo
Offline
Hi Eduardo
CREATE TABLE [dbo].[RS_PERIODES](
[Date_ID] [date] NOT NULL,
[Jour] [nchar](2) NOT NULL,
[Mois] [nchar](2) NOT NULL,
[Annee] [int] NOT NULL,
[Semestre] [nchar](2) NOT NULL,
[Trimestre] [nchar](2) NOT NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[rs_caht](
[EC_JONUM] [varchar](7) NOT NULL,
[EC_CGNUM] [varchar](13) NOT NULL,
[EC_CTNUM] [varchar](17) NULL,
[EC_ECMONTANT] [numeric](24, 6) NULL,
[EC_DATEECRITURE] [datetime] NULL,
[EX] [varchar](23) NULL
) ON [PRIMARY]
Thanks.
Offline
Hi arezki,
please check your upper and lower cases. If I change your schema to: "name='RS_PERIODES'" it works. I get other errors but these are also regarding upper and lower case.
<Schema name='Vente' metamodelVersion='4.0'>
<PhysicalSchema>
<Table name="rs_caht" schema='dbo'>
<Key>
<Column name='EC_ECMONTANT' />
</Key>
</Table>
<Table name='RS_PERIODES' schema='dbo'>
<Key>
<Column name='date_id'/>
</Key>
</Table>
</PhysicalSchema>
<Cube name='purchasesCube'>
<Dimensions>
<Dimension name='Periodes des ventes' table='rs_periodes' key='date_id'>
<Attributes>
<Attribute name='Annee' keyColumn='annee' />
</Attributes>
</Dimension>
</Dimensions>
<MeasureGroups>
<MeasureGroup name='Ventes' table='rs_caht' schema='dbo'>
<Measures>
<Measure name='CAHT' column='EC_ECMONTANT' aggregator='sum' visible='true' formatString='Currency'>
</Measure>
</Measures>
<DimensionLinks>
<ForeignKeyLink dimension='Periodes des ventes' foreignKeyColumn='ec_dateecriture'/>
</DimensionLinks>
</MeasureGroup>
</MeasureGroups>
</Cube>
</Schema>
Regards,
Eduardo
Offline
Hi Eduardo
I have changed my database (all names of tables and fields are in UPPERCASE)
---------------
CREATE TABLE [dbo].RS_CAHT(
[EC_JONUM] [varchar](7) NOT NULL,
[EC_CGNUM] [varchar](13) NOT NULL,
[EC_CTNUM] [varchar](17) NULL,
[EC_ECMONTANT] [numeric](24, 6) NULL,
[EC_DATEECRITURE] [datetime] NULL,
[EX] [varchar](23) NULL,
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[RS_PERIODES](
[DATE_ID] [datetime] NOT NULL,
[JOUR] [nchar](2) NOT NULL,
[MOIS] [nchar](2) NOT NULL,
[ANNEE] [int] NOT NULL,
[SEMESTRE] [nchar](2) NOT NULL,
[TRIMESTRE] [nchar](2) NOT NULL
PRIMARY KEY (DATE_ID)
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[RS_CAHT]
ADD CONSTRAINT FK_RS_CAHT_PERIODES FOREIGN KEY ([EC_DATEECRITURE])
REFERENCES [dbo].[RS_PERIODES] ([DATE_ID])
ON DELETE CASCADE
ON UPDATE CASCADE
SET ANSI_PADDING OFF
GO
--------------my new schema
<Schema name='VENTE' metamodelVersion='4.0'>
<PhysicalSchema>
<Table name="RS_CAHT" schema='dbo'>
<Key>
<Column name='EC_ECMONTANT' />
</Key>
</Table>
<Table name='RS_PERIODES' schema='dbo'>
<Key>
<Column name='DATE_ID'/>
</Key>
</Table>
</PhysicalSchema>
<Cube name='PURCHASECUBE'>
<Dimensions>
<Dimension name='PERIODES DE VENTES' table='RS_PERIODES' key='LADATE'>
<Attributes>
<Attribute name='LADATE' keyColumn='DATE_ID' />
</Attributes>
</Dimension>
</Dimensions>
<MeasureGroups>
<MeasureGroup name='VENTES' table='RS_CAHT' schema='dbo'>
<Measures>
<Measure name='CAHT' column='EC_ECMONTANT' aggregator='sum' visible='TRUE' formatString='Currency'>
</Measure>
</Measures>
<DimensionLinks>
<ForeignKeyLink dimension='PERIODES DE VENTES' foreignKeyColumn='EC_DATEECRITURE'/>
</DimensionLinks>
</MeasureGroup>
</MeasureGroups>
</Cube>
</Schema>
--------------
But I still getting ths message :
----------------------------
État HTTP 500 – Internal Server Error
Type Rapport d''exception
message java.lang.NullPointerException
description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
exception
java.lang.RuntimeException: java.lang.NullPointerException
net.datenwerke.rs.saiku.server.rest.resources.OlapDiscoverResource.getConnections(OlapDiscoverResource.java:129)
sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
cause mère
java.lang.NullPointerException
net.datenwerke.rs.saiku.server.rest.resources.OlapDiscoverResource.getConnections(OlapDiscoverResource.java:121)
sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de ce serveur.
----------------------------*
Any idea ? THANKS
Offline
Hi arezki,
please post your exact reportserver version (rsversion.properties).
Also, change your JDBC url for mondrian from jdbc:mondrian:Jdbc=jdbc:sqlserver://localhost;databaseName=rs_database to jdbc:mondrian:Jdbc=jdbc:sqlserver://localhost;jdbc.databaseName=rs_database
Note the (.jdbc) part. The .jdbc prefix is needed in all jdbc properties. Please let me know if this helps.
Regards,
Eduardo
Offline
Hi Eduardo
reportserver version :RS3.0.5-6005 (2018-10-30-10-32-54)
Thanks
Last edited by arezki (2019-01-08 19:06:53)
Offline
Hi arezki,
did you try the URL with the jdbc.databaseName=rs_database ?
Regards,
Eduardo
Offline
Hi
Yes i did. i get the same error.
Regards, Arezki
Last edited by arezki (2019-01-09 11:54:31)
Offline
Hi Arezki,
this is strange. I copied exactly what you sent and I only get an error if I write this url:
jdbc:mondrian:Jdbc=jdbc:sqlserver://localhost;databaseName=rs_database
If I change it to:
jdbc:mondrian:Jdbc=jdbc:sqlserver://localhost;jdbc.databaseName=rs_database
everything works and I see a saiku report. It is of course empty because I don't have data but I don't get any error message.
Please double check that you clicked on "apply" after changing the datasource, and load the data again by selecting your cube.
Regards,
Eduardo
Offline
Hi Eduardo
I loaded the data by selecting your cube. It WORKS.
THANKS.
Offline
Pages: 1