如何使用 PostgreSQL 数据库作为 XMLA 数据源?
How to use a PostgreSQL DB as XMLA datasource?
基础:
- 具有正常和报告数据的 PostgreSQL 数据库
- 从 here
下载了蒙德里安 zip
- 我有一个客户端枢轴网格组件 (DevExtreme Web)
据我所知,到目前为止,我必须使用 OLAP 服务器作为 MDX 查询和 SQL 数据库之间的连接器来提供 XMLA 作为数据源。因此我想使用 Mondrian OLAP-server。
问题:
现在我需要启动 Mondrian OLAP 服务器,将它连接到 PostgreSQL 数据库并提供一个 OLAP 模式。
- 如何启动 Mondrian OLAP 服务器?
- 如何将它连接到 PostgreSQL 数据库?
- 如何向 mondrian 服务器提供模式?
- 最后,如何连接到蒙德里安服务器?
我找不到任何分步指南或任何有用的蒙德里安文档。对我来说都是一团乌云。
问题
很多很多小时后,我找到了这个帖子:Github - Mondrian issue 202
Mondrian 开发人员在此线程中明确指出几乎整个文档都已过时并且与实际的 Mondrian 4 OLAP 服务器没有太多关系。
他们说 Mondrian 4 不再附带可部署的 WAR 文件,并且架构有很大的变化。
启动 Mondrian OLAP 服务器
为了获得 Mondrian 运行ning,我下载了这个启动 mondrian 服务器的 Maven 项目:mondrian-xmla-spike
我得到了所有 运行 描述的 derby Foodmart 数据库。
您可以将项目导入为您选择的 IDE 中的 maven 项目(我所做的)或 运行 mvn 通过。控制台。
使用 Mondrian 作为 XMLA 提供者
在 maven 项目中,您必须检查所有文件(不是很多)的硬编码路径并将它们更改为您的环境。
如果您已完成此操作,并将项目作为应用程序启动,则应该可以通过访问蒙德里安服务器。地址 http://localhost:8888/xmla
上的码头服务器
您可以连接任何可以使用 XMLA 数据源并支持 Mondrian OLAP 服务器的组件!最后一部分非常重要。蒙德里安并不完全符合 MDX 标准。 Penthao 方面的错误决定!大多数 OLAP 组件或 BI 工具仅支持 MS SQL 服务器作为 XMLA 数据源。
将 Mondrian 连接到 PostgreSQL 数据库
要将现有的 Maven 项目连接到 PostgreSQL 数据库,我必须执行一些步骤:
- 将 pom (xmla-spike.xml) 文件中的蒙德里安版本更新为 4.x 版本(我使用
4.3.1.5-191
)。您可以从这里选择一个:Penthao Mondrian Versions
下载正确的 JDBC 驱动程序(对我来说是 JDBC42):PostgreSQL JDBC Driver 并添加 JDBC 驱动程序 (.jar)到您的项目库
或从此处添加正确的 JDBC 驱动程序(我使用 9.4.1209
):PostgreSQL JDBC Driver JDBC 4.1 到您的 maven pom (xmla-spike.xml).
将datasource.xml中的<DataSourceInfo>
改为:
Provider=mondrian;Jdbc=jdbc:postgresql://localhost:5432/default?user=postgre;JdbcDrivers=org.postgresql.Driver;Catalog=/WEB-INF/Schema.xml;
- DB url:
jdbc:postgresql://localhost:5432/default?user=postgre
- =>
jdbc:postgresql://host:port/database
创建 Schema.xml
文件并编写一个简单的模式,如下所述:How to Design a Mondrian 4 Schema
您可以在此处查看带有元模型 4 的 Foodmart 示例架构:Foodmart.xml metamodelVersion="4.0"
<Catalog name="*">
必须匹配 Schema.xml
的架构名称
这对我有用。我希望我能帮助别人。如果我忘记了一些步骤,请发表评论,我会添加缺少的步骤。
基础:
- 具有正常和报告数据的 PostgreSQL 数据库
- 从 here 下载了蒙德里安 zip
- 我有一个客户端枢轴网格组件 (DevExtreme Web)
据我所知,到目前为止,我必须使用 OLAP 服务器作为 MDX 查询和 SQL 数据库之间的连接器来提供 XMLA 作为数据源。因此我想使用 Mondrian OLAP-server。
问题:
现在我需要启动 Mondrian OLAP 服务器,将它连接到 PostgreSQL 数据库并提供一个 OLAP 模式。
- 如何启动 Mondrian OLAP 服务器?
- 如何将它连接到 PostgreSQL 数据库?
- 如何向 mondrian 服务器提供模式?
- 最后,如何连接到蒙德里安服务器?
我找不到任何分步指南或任何有用的蒙德里安文档。对我来说都是一团乌云。
问题
很多很多小时后,我找到了这个帖子:Github - Mondrian issue 202
Mondrian 开发人员在此线程中明确指出几乎整个文档都已过时并且与实际的 Mondrian 4 OLAP 服务器没有太多关系。
他们说 Mondrian 4 不再附带可部署的 WAR 文件,并且架构有很大的变化。
启动 Mondrian OLAP 服务器
为了获得 Mondrian 运行ning,我下载了这个启动 mondrian 服务器的 Maven 项目:mondrian-xmla-spike
我得到了所有 运行 描述的 derby Foodmart 数据库。
您可以将项目导入为您选择的 IDE 中的 maven 项目(我所做的)或 运行 mvn 通过。控制台。
使用 Mondrian 作为 XMLA 提供者
在 maven 项目中,您必须检查所有文件(不是很多)的硬编码路径并将它们更改为您的环境。
如果您已完成此操作,并将项目作为应用程序启动,则应该可以通过访问蒙德里安服务器。地址 http://localhost:8888/xmla
您可以连接任何可以使用 XMLA 数据源并支持 Mondrian OLAP 服务器的组件!最后一部分非常重要。蒙德里安并不完全符合 MDX 标准。 Penthao 方面的错误决定!大多数 OLAP 组件或 BI 工具仅支持 MS SQL 服务器作为 XMLA 数据源。
将 Mondrian 连接到 PostgreSQL 数据库
要将现有的 Maven 项目连接到 PostgreSQL 数据库,我必须执行一些步骤:
- 将 pom (xmla-spike.xml) 文件中的蒙德里安版本更新为 4.x 版本(我使用
4.3.1.5-191
)。您可以从这里选择一个:Penthao Mondrian Versions 下载正确的 JDBC 驱动程序(对我来说是 JDBC42):PostgreSQL JDBC Driver 并添加 JDBC 驱动程序 (.jar)到您的项目库
或从此处添加正确的 JDBC 驱动程序(我使用
9.4.1209
):PostgreSQL JDBC Driver JDBC 4.1 到您的 maven pom (xmla-spike.xml).将datasource.xml中的
<DataSourceInfo>
改为:Provider=mondrian;Jdbc=jdbc:postgresql://localhost:5432/default?user=postgre;JdbcDrivers=org.postgresql.Driver;Catalog=/WEB-INF/Schema.xml;
- DB url:
jdbc:postgresql://localhost:5432/default?user=postgre
- =>
jdbc:postgresql://host:port/database
- DB url:
创建
Schema.xml
文件并编写一个简单的模式,如下所述:How to Design a Mondrian 4 Schema您可以在此处查看带有元模型 4 的 Foodmart 示例架构:Foodmart.xml metamodelVersion="4.0"
<Catalog name="*">
必须匹配Schema.xml
的架构名称
这对我有用。我希望我能帮助别人。如果我忘记了一些步骤,请发表评论,我会添加缺少的步骤。