JAVA 集成mondrian查询问题,在线等!
我的JAVA项目集成 mondrian.jar,数据库sqlserver2016,已经创建好了CUBE,查询没有问题。在ssas中。
调用程序:
public static void main(String[] args) {
String url="Provider=mondrian;Jdbc=jdbc:sqlserver://#########:1433;databaseName=DsidealBigData;JdbcUser=sa;JdbcPassword=******;Catalog=file:///c:/queries/FoodMart.xml;JdbcDrivers=com.microsoft.sqlserver.jdbc.SQLServerDriver;";
Connection connection = DriverManager.getConnection(url,null);
String queryStr="SELECT {[Measures].[数量]} on columns FROM saleData";
Query query =connection.parseQuery(queryStr);
Result result = connection.execute(query);
result.print(new PrintWriter(System.out));
}
}
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<Schema name="FoodMart">
<Cube name="saleData">
<Table name="sale" />
<Measure name="数量" column="number" aggregator="sum" datatype="Numeric" />
</Cube>
</Schema>
执行结果:
Mondrian Error:Internal error: Error while executing query [select {[Measures].[数量]} ON COLUMNS
from [saleData]
Caused by: mondrian.olap.MondrianException: Mondrian Error:mondrian.olap.MondrianException: Mondrian Error:Failed to load segment form SQL
Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while loading segment; sql=[select sum("sale"."number") as "m0" from "sale" as "sale"]
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'sale' 无效。
这是什么问题啊,请高手指点,这个事实表已经有了,为啥提出来就查询就报这个错