如何在Mondrian中使用DRILLTHROUGH查询?例如,下面的MDX查询
DRILLTHROUGH
SELECT
measures.MEMBERS ON 0
FROM
events生成异常:
java.lang.ClassCastException: mondrian.olap.DrillThrough cannot be cast to mondrian.olap.Query
at mondrian.olap4j.MondrianOlap4jStatement$1.execute(MondrianOlap4jStatement.java:362)
at mondrian.olap4j.MondrianOlap4jStatement$1.execute(MondrianOlap4jStatement.java:360)
at mondrian.server.Locus.execute(Locus.java:87)
at mondrian.server.Locus.execute(Locus.java:72)
at mondrian.olap4j.MondrianOlap4jStatement.parseQuery(MondrianOlap4jStatement.java:356)
at mondrian.olap4j.MondrianOlap4jStatement.executeOlapQuery(MondrianOlap4jStatement.java:346)在代码中,我将MDX字符串传递给语句,如下所示:
OlapConnection connection = DriverManager.getConnection(connection_string).unwrap(OlapConnection.class);
connection.createStatement.executeOlapQuery(mdx);我还尝试过在Cell上调用drillThrough,但这导致了异常org.postgresql.util.PSQLException: FATAL: sorry, too many clients already。也许我没有正确地管理连接?请看我的另一个问题:Mondrian OLAP connection management。
发布于 2013-05-28 21:28:11
钻取操作将返回一个ResultSet (实现常规的JDBC API),因此您需要改用以下代码:
olapConnection.createStatement().executeQuery(String mdx)https://stackoverflow.com/questions/16743624
复制相似问题