Mondrian 在 Web 应用程序中使用时无法在 VFS 中找到架构

发布于 2024-12-17 14:45:29 字数 738 浏览 2 评论 0原文

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

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 的任何特殊配置的文档,但实际上为零。

我通过将架构的路径设置为绝对引用而不是相对于 web 应用程序上下文来解决这个问题。虽然这使我能够继续测试,但这并不是解决问题的合适方法。我正在寻找有关如何修复允许 web 应用程序上下文相对 URL 的异常的答案。

I have a webapp that I'm trying to use Mondrian within. And I'm getting the following exception when I try to open a connection:

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

I have tested this cube using a plain J2SE program from the command line, and it works fine. However, when I tried to execute the same cube in my web application I get the error above. My connect string is the following:

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

This is very similar to what I've found in the Mondrian web application. However, somehow that application has installed the ServletContext in the VFS, but there is exactly zero documentation out there that I can find through google about any sort of special configuration for mondrian in a web application.

I have worked around the issue by setting the path to the schema to be absolute reference instead of relative to webapp context. While this has allowed me to continue testing it is not a suitable solution to the problem. I'm looking for a answer on how to that fix the exception that allows a webapp context relative URL.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月光色 2024-12-24 14:45:29

我认为您需要在目录中指定工作文件,

 `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

I think you need to specify the work file in the Catalog,

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

I cant recall if it was absolute path or not, try both again.

I would also double check the connection string just to make sure it's written properly. Also, here is a link that might end up helpful if you don't have it already.

Update
Try to add jndi:/ at the beggining of your path:
jndi:/localhost/path/to/file.xml

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文