問題
何時間も経った後、私はこのスレッドを見つけました:Github - Mondrian issue 202
Mondrian の開発者は、このスレッドで、ほぼすべてのドキュメントが古く、実際の Mondrian 4 OLAP サーバーとはあまり関係がないことを明確に述べています。
彼らは、Mondrian 4 には展開可能な WAR ファイルが同梱されなくなり、スキーマに大きな変更が加えられたと言います。
モンドリアン OLAP サーバーを起動する
Mondrian を実行するために、mondrian サーバーを起動するこの Maven プロジェクトをダウンロードしました: mondrian-xmla-spike
記述された derby Foodmart データベースですべてを実行しました。
選択したIDEでプロジェクトをmavenプロジェクトとしてインポートするか(私がしたこと)、mvnを介して実行できます。コンソール。
Mondrian を XMLA プロバイダーとして使用する
Maven プロジェクトでは、ハードコーディングされたパスのすべてのファイル (多数ではない) を確認し、それらを環境に合わせて変更する必要があります。
これを行って、アプリケーションとしてプロジェクトを開始すると、Mondrian サーバーにアクセスできるようになります。アドレスの桟橋サーバーhttp://localhost:8888/xmla
XMLA データソースを使用でき、Mondrian OLAP サーバーをサポートする任意のコンポーネントを接続できます。最後の部分は非常に重要です。モンドリアンは、MDX 規格に完全には準拠していません。ペンサオ側の判断がまずかった!ほとんどの OLAP コンポーネントまたは BI ツールは、XMLA データソースとして MS SQL Server のみをサポートします。
Mondrian を PostgreSQL DB に接続する
既存の Maven プロジェクトを PostgreSQL DB に接続するには、いくつかの手順を実行する必要がありました。
- pom (xmla-spike.xml) ファイルの Mondrian バージョンを 4.x バージョンに更新します (私は を使用しました
4.3.1.5-191
)。ここから 1 つを選択できます: 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) に追加します。
<DataSourceInfo>
datasource.xml の を次のように変更します。
Provider=mondrian;Jdbc=jdbc:postgresql://localhost:5432/default?user=postgre;JdbcDrivers=org.postgresql.Driver;Catalog=/WEB-INF/Schema.xml;
- データベースの URL:
jdbc:postgresql://localhost:5432/default?user=postgre
- =>
jdbc:postgresql://host:port/database
ファイルを作成し、Schema.xml
ここで説明されているように単純なスキーマを記述します:モンドリアン 4 スキーマを設計する方法
ここで、メタモデル 4 を使用した Foodmart の例のスキーマを確認できます: Foodmart.xml metamodelVersion="4.0"
の<Catalog name="*">
スキーマ名と一致する必要がありますSchema.xml
これは私にとってはうまくいきます。これで他の誰かを助けることができれば幸いです。いくつかの手順を忘れた場合は、コメントしてください。不足している手順を追加します。