Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 3.9.0 GA (4.5.0 GA Suite Release)
    • Fix Version/s: 5.1.0 Backlog
    • Component/s: Data Source
    • Labels:
      None
    • QA Validation Status:
      Not Yet Validated

      Description

      i'm working on a proof concept using pentaho report designer with an OLAP datasource connected to a MS SASS 12. The first step was trying a simple MDX Query in the datasource editor of the designer.

      I've configured following datasource:

      Data -> Add datasource -> OLAP -> OLAP4J

      And added the following database connection:

      Generic Database
      Access: Native (JDBC)

      Connection-URL: jdbc:xmla:Server=http://192.168.100.20/olap/msmdpump.dll;Catalog='Analysis Services Tutorial';Cube='Analysis Services Tutorial'
      Custom Driver: org.olap4j.driver.xmla.XmlaOlap4jDriver
      User and password are set.

      The test was ok. In the datasource i added the following query:

      SELECT Measures.MEMBERS ON COLUMNS FROM [Analysis Services Tutorial]

      While starting the preview for this connection, i'll get the following exception (see full exception in attachments):

      java.lang.RuntimeException: org.olap4j.OlapException: XMLA provider gave exception: <soap:Fault xmlns="http://schemas.xmlsoap.org/soap/envelope/"> [^]
      <faultcode>
      XMLAnalysisError.0xc10f0006
      </faultcode>
      <faultstring>
      XML parsing failed at line 15, column 10: Ungültiges qualifiziertes Zeichen.
      .
      </faultstring>
      <detail>
      <Error Description="XML parsing failed at line 15, column 10: Ungültiges qualifiziertes Zeichen.
      ." ErrorCode="3238985734" HelpFile="" Source="Microsoft SQL Server 2012 Analysis Services">
      </Error>
      </detail>
      </soap:Fault>

      Request was:
      <?xml version="1.0" encoding="UTF-8"?>
      <SOAP-ENV:Envelope
      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" [^]
      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> [^]
      <SOAP-ENV:Body>
      <Discover xmlns="urn:schemas-microsoft-com:xml-analysis"
      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> [^]
      <RequestType>DISCOVER_DATASOURCES</RequestType>
      <Restrictions>
      <RestrictionList>
      </RestrictionList>
      </Restrictions>
      <Properties>
      <PropertyList>
      <::PENTAHO-REPORTING::HOSTNAME></::PENTAHO-REPORTING::HOSTNAME>
      <::PENTAHO-REPORTING::PORT>1521</::PENTAHO-REPORTING::PORT>
      <::PENTAHO-REPORTING:ATABASE-TYPE>GENERIC</::PENTAHO-REPORTING:ATABASE-TYPE>
      <::PENTAHO-REPORTING::NAME>MS SASS</::PENTAHO-REPORTING::NAME>
      <CUBE>Analysis Services Tutorial</CUBE>
      <::PENTAHO-REPORTING:ATABASE-NAME></::PENTAHO-REPORTING:ATABASE-NAME>
      <Content>Data</Content>
      </PropertyList>
      </Properties>
      </Discover>
      </SOAP-ENV:Body>

      If i try this query within a simple java class using OLAP4J with same connection parameters, i got no errors. I also figured out, that in this case the request looks like

      <SOAP-ENV:Envelope
      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" [^]
      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> [^]
      <SOAP-ENV:Body>
      <Discover xmlns="urn:schemas-microsoft-com:xml-analysis"
      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> [^]
      <RequestType>DISCOVER_DATASOURCES</RequestType>
      <Restrictions>
      <RestrictionList>
      </RestrictionList>
      </Restrictions>
      <Properties>
      <PropertyList>
      <CUBE>Analysis Services Tutorial</CUBE>
      <Content>Data</Content>
      </PropertyList>
      </Properties>
      </Discover>
      </SOAP-ENV:Body>

      It seems , that the pentaho reporting properties are not allowed !?
      1. ms_sass_exception_with_pentaho.txt
        10 kB
        Thomas Wiesner
      2. TestOLAP.java
        2 kB
        Thomas Wiesner

        Activity

        Hide
        Jared Cornelius added a comment -
        This is an issue in the olap4j layer - we recommend reaching out to the olap4j team for them to investigate.
        Show
        Jared Cornelius added a comment - This is an issue in the olap4j layer - we recommend reaching out to the olap4j team for them to investigate.
        Hide
        Julian Hyde added a comment -
        It is not the olap4j driver's responsibility to filter out properties. If a property is not valid for the server, the client should not send it, or the server should ignore it. Since Pentaho controls the client (PRD) but not the server (SSAS), it should fix the client.

        Rename the properties to identifiers that SSAS considers valid (i.e. replace the colons with underscores) and it will put less strain on the whole system.

        I have logged http://sourceforge.net/p/olap4j/bugs/81, but that's not the main issue.
        Show
        Julian Hyde added a comment - It is not the olap4j driver's responsibility to filter out properties. If a property is not valid for the server, the client should not send it, or the server should ignore it. Since Pentaho controls the client (PRD) but not the server (SSAS), it should fix the client. Rename the properties to identifiers that SSAS considers valid (i.e. replace the colons with underscores) and it will put less strain on the whole system. I have logged http://sourceforge.net/p/olap4j/bugs/81, but that's not the main issue.
        Hide
        Thomas Morgner added a comment -
        Fixed both in 3.9-branch and git::master
        Show
        Thomas Morgner added a comment - Fixed both in 3.9-branch and git::master

          People

          • Assignee:
            Unassigned User
            Reporter:
            Thomas Wiesner
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: