Mondrian xml服务mysql_mondrian与java工程的集成

本文介绍如何通过编程方式连接Mondrian并执行MDX查询。Mondrian作为一个独立的多维分析引擎,通常被集成到BI解决方案中。本文档提供了一个具体的Java示例,演示如何设置连接并执行一个简单的MDX查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mondrian 是1个独立的引擎,1般都是通过嵌入到利用的方式来使用它,只需要在类路径加个类库就能够。实际上有多套 BI 解决方案都是通过集成 Mondrian 的方式来实现多维分析。

本文介绍编程方式连接 Mondrian,履行 MDX 查询的方法。使用 mondrian 需要有1个数据库的连接和多维数据的描写文件(Schema 文件)。这个可以通过我之前的文章来了解。

http://blog.youkuaiyun.com/qzp1991/article/details/44016959

http://blog.youkuaiyun.com/qzp1991/article/details/44017161

1、先决条件:

1.jdk环境配置的完成;

2.在tomcat下完成mondrian服务器和多维数据库的部署;

实例的搭建,在我之前的文章中有触及

http://blog.youkuaiyun.com/qzp1991/article/details/44016959

2、java工程的建立

1.导入mondrian的必备包

它们位于mondrianWEB-INFlib当中

2.导入连接mysql的驱动

3.编写相干核心代码

package mondrian.java.api;

import java.io.PrintWriter;

import mondrian.olap.Connection;

import mondrian.olap.DriverManager;

import mondrian.olap.Query;

import mondrian.olap.Result;

public class Main {

@SuppressWarnings("deprecation")

public static void main(String[] args) {

Connection connection = DriverManager.getConnection(

"Provider=mondrian;Jdbc=jdbc:mysql://localhost/nts_eway_ee?user=root&password=root;

Catalog=E:/apache-tomcat⑺.0.40/webapps/mondrian/WEB-INF/queries/ntsdw.xml;",null);

Query query =connection.parseQuery("select {[Measures].[nts_sample]} ON COLUMNS,

{[region.default].[AllRegion],[region.default].[江苏], [region.default].[湖南]} ON ROWS

from [ntsdw] where [time.default].[2015].[1].[1]");

Result result = connection.execute(query);

PrintWriter pw = new PrintWriter(System.out);

result.print(pw);

pw.flush();

}

}相干解释

Mondrian 本身履行 mdx 查询的接口位于 mondrian.olap 包。

Jdbc=jdbc:mysql://localhost/nts_eway_ee?user=root&password=root表示连接数据库的名称和相干用户名及密码

Catalog=E:/apache-tomcat⑺.0.40/webapps/mondrian/WEB-INF/queries/ntsdw.xml;表示模式文件所在的位置

Query query =connection.parseQuery("select {[Measures].[nts_sample]} ON COLUMNS,

{[region.default].[AllRegion],[region.default].[江苏], [region.default].[湖南]} ON ROWS

from [ntsdw] where [time.default].[2015].[1].[1]");表示具体的MDX履行语句

result是1个MDX履行语句的返回值

其中,pw.flush();语句是必须的,否则不会输出

点击运行,履行结果以下:

20150304160253966.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值