Исключение «Нет подходящего драйвера», реализующее сервер Olap4J XMLA - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь реализовать olap4j-xmlaserver для доступа к Mondrian через HTTP / XMLA. Я скомпилировал проект, создал файл war (включая файл web.xml) и развернул его в Tomcat 7. Проблема в том, что я получаю исключение, когда клиентское приложение сводной системы отправляет запрос XMLA:

Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3306/foodmart?user=root&password=xxx;Catalog=/WEB-INF/FoodMart.xml'
        at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
        at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
        at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
        at mondrian.xmla.impl.Olap4jXmlaServlet$Olap4jPoolingConnectionFactory.getConnection(Olap4jXmlaServlet.java:300)
        at mondrian.xmla.XmlaHandler.getConnection(XmlaHandler.java:2917)
        ... 33 more 

Caused by: java.sql.SQLException: No suitable driver at java.sql.DriverManager.getDriver (DriverManager.java:315)
        at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437)
        ... 37 more

Я собрал web.xml (я не смог найти образец в проекте olap4j-xmlaserver). Я уверен, что этот web.xml файл необходимо исправить, чтобы решить проблему, особенно строку подключения:

<web-app ....

  <display-name>olap4j-xmlaserver</display-name>
  <description>
     Olap4J XML/A server
  </description>

  <servlet>
    <servlet-name>xmla</servlet-name>
    <servlet-class>mondrian.xmla.impl.Olap4jXmlaServlet</servlet-class>

    <init-param>
       <param-name>OlapDriverClassName</param-name>
       <param-value>com.mysql.jdbc.Driver</param-value>
    </init-param>

    <init-param>
       <param-name>OlapDriverConnectionString</param-name>
       <param-value>
         jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3306/foodmart?user=root&amp;password=xxx;Catalog=/WEB-INF/FoodMart.xml
       </param-value>
    </init-param>   
  </servlet>

  <servlet-mapping>
    <servlet-name>xmla</servlet-name>
    <url-pattern>/xmla</url-pattern>
  </servlet-mapping>
</web-app>

Будем весьма благодарны за любые идеи, как исправить конфигурацию web.xml или указатели на соответствующую документацию.

1 Ответ

0 голосов
/ 10 сентября 2018

В вашем пути к классам отсутствует драйвер Java для MySQL. Добавьте его в свое веб-приложение в папке с именем «WEB-INF / lib».

...