1

我已经在 J​​Boss 上设置了 Mondrian,它在通过 Olap4J API 运行 MDX 语句时工作正常。但是,当我将 Mondrian 设置为 XML/A 服务器时,在尝试使用 URL 连接 Warehouse Explorer(又名 Rex)时,出现以下异常(在服务器控制台中) http://localhost:8080/olap/xmla

雷克斯的错误是:

在此处输入图像描述

这是我的 datasources.xml

<DataSource>
    <DataSourceName>Mondrian</DataSourceName>
    <DataSourceDescription>Mondrian XMLA</DataSourceDescription>
    <URL>http://localhost:8080/olap/xmla</URL>
    <DataSourceInfo>Provider=mondrian;Jdbc=jdbc:mysql://localhost:3306/foodmart;JdbcUser=uuuuu;JdbcPassword=pppp;JdbcDrivers=com.mysql.jdbc.Driver;</DataSourceInfo>
    <ProviderName>Mondrian</ProviderName>
    <ProviderType>MDP</ProviderType>
    <AuthenticationMode>Unauthenticated</AuthenticationMode>
    <Catalogs>
        <Catalog name="FoodMart">
            <Definition>/WEB-INF/FoodMart.xml</Definition>
        </Catalog>
    </Catalogs>
</DataSource>

这是一个例外:

mondrian.olap.MondrianException:蒙德里安错误:连接字符串必须包含属性“目录”或属性“目录内容” 在 mondrian.resource.MondrianResource$_Def1.ex(MondrianResource.java:994) [mondrian-3.9.0.0-213.jar:] 在 mondrian.rolap.RolapSchemaPool.getSchemaContent(RolapSchemaPool.java:268) [mondrian-3.9.0.0 -213.jar:] 在 mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:135) [mondrian-3.9.0.0-213.jar:] 在 mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:67) [mondrian -3.9.0.0-213.jar:] 在 mondrian.rolap.RolapConnection.(RolapConnection.java:161) [mondrian-3.9.0.0-213.jar:] 在 mondrian.rolap.RolapConnection.(RolapConnection.java:91) [mondrian-3.9.0.0-213.jar:] 在 mondrian.olap.DriverManager.getConnection(DriverManager.java:113) [mondrian-3.9.0.0-213.jar:3.9.0.0-213] 在 mondrian.olap.DriverManager .getConnection(DriverManager.java:69) [mondrian-3.9.0.0-213.jar:3.9.0.0-213] 在 mondrian.olap4j。MondrianOlap4jConnection.(MondrianOlap4jConnection.java:162) [mondrian-3.9.0.0-213.jar:] at mondrian.olap4j.FactoryJdbc4Plus$AbstractConnection.(FactoryJdbc4Plus.java:323) [mondrian-3.9.0.0-213.jar:] at mondrian.olap4j.FactoryJdbc41Impl$MondrianOlap4jConnectionJdbc41.(FactoryJdbc41Impl.java:118) [mondrian-3.9.0.0-213.jar:] at mondrian.olap4j.FactoryJdbc41Impl.newConnection(FactoryJdbc41Impl.java:32) [mondrian-3.9.0.0-213 .jar:] 在 mondrian.olap4j.MondrianOlap4jDriver.connect(MondrianOlap4jDriver.java:134) [mondrian-3.9.0.0-213.jar:] 在 java.sql.DriverManager.getConnection(DriverManager.java:571) [rt.jar :1.7.0_71] 在 java.sql.DriverManager.getConnection(DriverManager.java:187) [rt.jar:1.7.0_71] 在 mondrian.server.FileRepository.getConnection(FileRepository.java:178) [mondrian-3.9.0.0 -213.jar:3.9.0.0-213] 在蒙德里安。server.FileRepository.getConnection(FileRepository.java:129) [mondrian-3.9.0.0-213.jar:3.9.0.0-213] 在 mondrian.server.MondrianServerImpl.getConnection(MondrianServerImpl.java:264) [mondrian-3.9.0.0 -213.jar:3.9.0.0-213] 在 mondrian.xmla.XmlaHandler.getConnection(XmlaHandler.java:2945) [mondrian-3.9.0.0-213.jar:] 在 mondrian.xmla.XmlaHandler.getConnection(XmlaHandler.java :177) [mondrian-3.9.0.0-213.jar:] at mondrian.xmla.Rowset.populate(Rowset.java:219) [mondrian-3.9.0.0-213.jar:] at mondrian.xmla.Rowset.unparse (Rowset.java:194) [mondrian-3.9.0.0-213.jar:] 在 mondrian.xmla.XmlaHandler.discover(XmlaHandler.java:2867) [mondrian-3.9.0.0-213.jar:] 在 mondrian.xmla .XmlaHandler.process(XmlaHandler.java:671) [mondrian-3.9.0.0-213.jar:] at mondrian.xmla.impl.DefaultXmlaServlet.handleSoapBody(DefaultXmlaServlet.java:507) [mondrian-3.9.0.0-213.jar:] 在 mondrian.xmla.XmlaServlet.doPost(XmlaServlet.java:318) [mondrian-3.9.0.0-213.jar:] 在 javax.servlet.http.HttpServlet。服务(HttpServlet.java:754)[jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:847)[jboss -servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar :] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:] 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:] 在 org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final] 在org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] 在 org.apache.catalina.core。 StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final. jar:] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java :368) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:] at org. apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:] at java.lang.Thread.run(Thread.java:745) [rt.罐子:1.7.0_71]

11:34:33,441 错误 [mondrian.xmla.XmlaServlet] (http-localhost-127.0.0.1-8080-1) 处理 XML/A 消息时出错:mondrian.xmla.XmlaException: Mondrian Error:XMLA Discover unparse results error 在 mondrian.xmla.XmlaHandler.discover(XmlaHandler.java:2873) [mondrian-3.9.0.0-213.jar:] 在 mondrian.xmla.XmlaHandler.process(XmlaHandler.java:671) [mondrian-3.9.0.0-213 .jar:] 在 mondrian.xmla.impl.DefaultXmlaServlet.handleSoapBody(DefaultXmlaServlet.java:507) [mondrian-3.9.0.0-213.jar:] 在 mondrian.xmla.XmlaServlet.doPost(XmlaServlet.java:318) [mondrian -3.9.0.0-213.jar:] 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]在 javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 在 org.apache.catalina.core.ApplicationFilterChain .internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:] 在 org.apache.catalina.core.ApplicationFilterChain。doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar: ] 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:] 在 org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java :50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final] 在 org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as- web-7.1.1.Final.jar:7.1.1.Final] 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:] 在 org. org.apache 上的 apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]。catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0. 13.Final.jar:] 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:] 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler .process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13 .Final.jar:] 在 java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0. 13.Final.jar:] 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:] 在 java.lang.Thread.run (Thread.java:745) [rt.jar:1.7.0_71]http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0. 13.Final.jar:] 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:] 在 java.lang.Thread.run (Thread.java:745) [rt.jar:1.7.0_71] 引起:mondrian.olap.MondrianException:蒙德里安错误:内部错误:未找到合适的连接 在 mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:974) [mondrian-3.9.0.0-213.jar:] 在 mondrian.olap.Util.newInternal(Util.java:2397) [mondrian-3.9.0.0 -213.jar:3.9.0.0-213] 在 mondrian.olap.Util.newError(Util.java:2412) [mondrian-3.9.0.0-213.jar:3.9.0.0-213] 在 mondrian.server.FileRepository。 getConnection(FileRepository.java:143) [mondrian-3.9.0.0-213.jar:3.9.0.0-213] at mondrian.server.MondrianServerImpl.getConnection(MondrianServerImpl.java:264) [mondrian-3.9.0.0-213.jar :3.9.0.0-213] 在 mondrian.xmla.XmlaHandler.getConnection(XmlaHandler.java:2945) [mondrian-3.9.0.0-213.jar:] 在 mondrian.xmla.XmlaHandler.getConnection(XmlaHandler.java:177) [ mondrian-3.9.0.0-213.jar:] 在 mondrian.xmla.Rowset.populate(Rowset.java:219) [mondrian-3.9.0.0-213.jar:] 在 mondrian.xmla.Rowset.unparse(Rowset.java :194) [mondrian-3.9.0.0-213.jar:] 在 mondrian.xmla.XmlaHandler.discover(XmlaHandler.java:2867) [mondrian-3.9.0.0-213.jar:] ... 还有 19 个

4

1 回答 1

1

这就是我解决此问题的方法:您必须将 Catalog 添加到 DataSourceInfo (除了Catalog元素):

提供者=mondrian;Jdbc=jdbc:mysql://localhost:3306/foodmart;JdbcUser=uuuuu;JdbcPassword=ppppp;JdbcDrivers=com.mysql.jdbc.Driver; 目录=/WEB-INF/FoodMart.xml

于 2015-03-04T01:24:39.187 回答