none
How to seeting locale identifier via http (msmdpump.dll) RRS feed

  • Question

  • Hello all!

    I need to set the locale identifier via http. Is there a way to config the connection string for the msmdpump.dll?

    Unfortunately I need to access the analysis services with java. So the connect has to use the msmdpump.dll.

    Does anybody know a way to config the locale identifier in the msmdpump.ini? Or maybe via url parameter like "http://srv/olap/msmdpump.dll?Locale Identifier=1033"

    Any ideas are very welcome ;-)

    Andreas


    Monday, April 7, 2014 9:24 AM

All replies

  • Tuesday, April 8, 2014 6:04 AM
  • Thanks for the link but this is just the default documentation about Configure HTTP Access to Analysis Services. I know this page, unfortunately there is nothing about setting the locale identifier :-(

    Andreas
    Tuesday, April 8, 2014 8:25 AM
  • Hi Andreas,

    Thank you for your question. 

    I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated. 

    Thank you for your understanding and support.

    Regards,


    Charlie Liao
    TechNet Community Support

    Monday, April 14, 2014 7:56 AM
    Moderator
  • If you are doing RAW XMLA to msmdpump.dll it is a multi-step process.

    You have to create a session passing in the locale as a property

    eg.

    <Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
      <Header>
        <BeginSession soap:mustUnderstand="1" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:schemas-microsoft-com:xml-analysis" />
        <Version Sequence="400" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine/2" /><NamespaceCompatibility xmlns="http://schemas.microsoft.com/analysisservices/2003/xmla" mustUnderstand="0"/></Header>
      <Body>
        <Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
          <Command>
            <Statement />
          </Command>
          <Properties>
            <PropertyList>
              <Timeout>0</Timeout>
              <SspropInitAppName>Microsoft SQL Server Management Studio - Query</SspropInitAppName>
              <LocaleIdentifier>3081</LocaleIdentifier>
              <ClientProcessID>1604</ClientProcessID>
              <DataSourceInfo />
            </PropertyList>
          </Properties>
        </Execute>
      </Body>
    </Envelope>

    In the response you should get a guid for the session. I do not think that can just specify the Locale in the properties of a request - I think you'll find that the locale for a request needs to match the setting on the session.

    Then in subsequent requests (such as the following MDSCHEMA_CUBES request) you need to pass the session id in the header

    <Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
      <Header>
        <XA:Session soap:mustUnderstand="1" SessionId="87D9F3F3-610E-4C4B-B473-828C02D72561" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:XA="urn:schemas-microsoft-com:xml-analysis" />
      </Header>
      <Body>
        <Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
          <RequestType>MDSCHEMA_CUBES</RequestType>
          <Restrictions>
            <RestrictionList>
              <CUBE_SOURCE>3</CUBE_SOURCE>
            </RestrictionList>
          </Restrictions>
          <Properties>
            <PropertyList>
              <Timeout>0</Timeout>
              <SspropInitAppName>Microsoft SQL Server Management Studio - Query</SspropInitAppName>
              <LocaleIdentifier>3081</LocaleIdentifier>
              <ClientProcessID>1604</ClientProcessID>
              <DataSourceInfo />
              <Catalog>Adventure Works</Catalog>
              <Content>SchemaData</Content>
              <Format>Tabular</Format>
              <DbpropMsmdActivityID>b89e1ef5-45da-4e36-af1c-f9d5dbe486cf</DbpropMsmdActivityID>
              <DbpropMsmdRequestID>1ffb741c-82bf-4edb-b35e-f4767512afda</DbpropMsmdRequestID>
            </PropertyList>
          </Properties>
        </Discover>
      </Body>
    </Envelope>


    http://darren.gosbell.com - please mark correct answers

    Tuesday, April 15, 2014 5:56 AM
    Moderator
  • Hi Andreas,

    You can add 'Locale Identifier=***' in the connection string. If you are using Excel as the client tool, you need to edit the .ODC file manually. Below is one example for your reference.

    Provider=MSOLAP.4;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=OlapDbName;Data Source=http://srv/olap/msmdpump.dll;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error;Locale Identifier=1033

    Regards

    Tuesday, April 22, 2014 9:05 AM