4

我有一个网络应用程序,我正在尝试在其中使用 Mondrian。当我尝试打开连接时出现以下异常:

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,但是我可以通过 google 找到关于 Web 应用程序中 mondrian 的任何类型的特殊配置的完全零文档。

我通过将架构的路径设置为绝对引用而不是相对于 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 回答