2011-11-20 29 views
4

我有一個web應用程序,我嘗試在其中使用Mondrian。而且我發現了以下情況例外,當我嘗試打開一個連接:Mondrian在Web應用程序中使用時無法在VFS中找到架構

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; 

這是非常相似,我在蒙德里安的Web應用程序已經找到。然而,不知何故,該應用程序已經在VFS中安裝了ServletContext,但是在那裏我可以通過google找到有關mondrian在web應用程序中的任何特殊配置的文檔。

我已經解決了該問題,方法是將模式的路徑設置爲絕對引用,而不是相對於webapp上下文。雖然這讓我繼續測試,但這不是解決問題的適當方法。我正在尋找如何解決允許webapp上下文相關URL的異常的答案。

+0

我建議安裝Pentaho BI服務器,並從那裏開始。 –

回答

1

我認爲你需要指定目錄的工作文件,

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

我不能記得,如果它是絕對路徑與否,再次嘗試兩者。

我也會仔細檢查連接字符串,以確保它的寫入正確。此外,如果您還沒有它,最終可能會有幫助的link

更新 嘗試在你的路徑beggining添加jndi:/jndi:/localhost/path/to/file.xml

+0

這正是我已經在做的。我在目錄中指定了絕對URL。我想將其轉換爲Web應用上下文相關的URL,因此它不會被硬編碼。在Mondrian示例web應用程序中,他們定義了與servlet上下文路徑相關的目錄文件,但我無法確定他們做了什麼來完成這個工作。我的爲什麼不工作。你知道蒙德里安如何實施VFS來幫助我嗎? – chubbsondubs

+0

我從來沒有惹過Mondrian Adhoc解決方案,我只用過Pentaho BI,但是我可以試試明天幫助你,而你可以告訴我,如果你使用的是tomcat? –

+0

是的,它加載在tomcat中。 – chubbsondubs

相關問題