4

Mondrian を使用しようとしている webapp があります。接続を開こうとすると、次の例外が発生します。

Caused by: mondrian.olap.MondrianException: Mondrian Error:Internal error: Virtual file is not readable: /WEB-INF/olap/mycube.xml

コマンドラインから単純な J2SE プログラムを使用してこのキューブをテストしましたが、正常に動作しました。しかし、Web アプリケーションで同じキューブを実行しようとすると、上記のエラーが発生します。私の接続文字列は次のとおりです。

jdbc:mondrian:Jdbc=jdbc:mysql://${server.db.host}/HRWarehouse?user=${server.db.username}&password=${server.db.password};Catalog=/WEB-INF/olap/mycube.xml;

これは、Mondrian Web アプリケーションで見つけたものと非常によく似ています。ただし、どういうわけか、そのアプリケーションは VFS に ServletContext をインストールしましたが、Web アプリケーションでの mondrian の特別な構成について Google で見つけることができるドキュメントはまったくありません。

スキーマへのパスを webapp コンテキストに対する相対参照ではなく絶対参照に設定することで、この問題を回避しました。これでテストを続けることができましたが、問題に対する適切な解決策ではありません。webapp コンテキストの相対 URL を許可する例外を修正する方法についての回答を探しています。

4

1 に答える 1

1

カタログで作業ファイルを指定する必要があると思いますが、

 `jdbc:mondrian:Jdbc=jdbc:mysql://${server.db.host}/HRWarehouse?user=${server.db.username}&password=${server.db.password};Catalog=file:/path/to/schema.xml;`

絶対パスかどうか思い出せないので、両方やり直してください。

また、接続文字列が正しく記述されていることを確認するために、接続文字列を再確認します。また、まだ持っていない場合に役立つ可能性のあるリンクがあります。

更新jndi:/パスの最初 に追加してみてください。jndi:/localhost/path/to/file.xml

于 2012-11-07T16:40:37.167 に答える