2015-08-25 4 views
2

Я новичок в концепции OLAP-БД. Прошу прощения, если я пропустил что-то в строке соединения. Я пытаюсь подключиться к Microsoft Analysis Server (который находится в другом домене) из моей системы. При подключении я становлюсь ниже Ошибка.Microsoft SSAS OLAP-соединение от Java-кода

Не могли бы вы сообщить мне, что я делаю неправильно? Я выполнил действия, описанные в: https://msdn.microsoft.com/en-us/library/gg492140.aspx

и сослался на ссылку ниже для подключения к кубу: http://www.matthewgodding.com/articles/2010/2/27/getting-data-from-sql-analysis-services-using-java-and-olap4.html

После подключения к кубу, мне нужно выполнить MDX запрос.

Пожалуйста, найдите фрагмент кода я использую:

 public static void main(String[] args) { 
     try { 
     Class.forName("org.olap4j.driver.xmla.XmlaOlap4jDriver"); 
     final Connection connection = DriverManager 
    .getConnection("jdbc:xmla:Server=http://Remote_Server_IPAddress/OLAP/msmdpump.dll;" 
        + "Catalog=MyCatalog;" 
        + "User='Domian\\Username';" \\ This is the Username to login to the Server 
        + "Password='Password';" \\ This is the Password to login to the Server 
        + "Cube=Cube;");  \\This is the Cube Name 

я получаю ниже исключения, когда я выполнить программу:

Exception: 

     java.lang.RuntimeException: org.olap4j.OlapException: This connection encountered an exception while executing a query. 
    at org.olap4j.driver.xmla.DeferredNamedListImpl.getList(DeferredNamedListImpl.java:96) 
    at org.olap4j.driver.xmla.DeferredNamedListImpl.size(DeferredNamedListImpl.java:116) 
    at org.olap4j.driver.xmla.XmlaOlap4jConnection.getOlapDatabase(XmlaOlap4jConnection.java:451) 
    at org.olap4j.driver.xmla.XmlaOlap4jConnection.getDatabase(XmlaOlap4jConnection.java:444) 
    at org.sid.practise.CheckConnection.main(CheckConnection.java:79) 
Caused by: org.olap4j.OlapException: This connection encountered an exception while executing a query. 
    at org.olap4j.driver.xmla.XmlaHelper.createException(XmlaHelper.java:43) 
    at org.olap4j.driver.xmla.XmlaOlap4jConnection.executeMetadataRequest(XmlaOlap4jConnection.java:878) 
    at org.olap4j.driver.xmla.XmlaOlap4jDatabaseMetaData.getMetadata(XmlaOlap4jDatabaseMetaData.java:137) 
    at org.olap4j.driver.xmla.XmlaOlap4jDatabaseMetaData.getMetadata(XmlaOlap4jDatabaseMetaData.java:67) 
    at org.olap4j.driver.xmla.XmlaOlap4jDatabaseMetaData.getDatabaseProperties(XmlaOlap4jDatabaseMetaData.java:1044) 
    at org.olap4j.driver.xmla.XmlaOlap4jConnection.makeConnectionPropertyList(XmlaOlap4jConnection.java:324) 
    at org.olap4j.driver.xmla.XmlaOlap4jConnection.generateRequest(XmlaOlap4jConnection.java:1037) 
    at org.olap4j.driver.xmla.XmlaOlap4jConnection.populateList(XmlaOlap4jConnection.java:849) 
    at org.olap4j.driver.xmla.DeferredNamedListImpl.populateList(DeferredNamedListImpl.java:136) 
    at org.olap4j.driver.xmla.DeferredNamedListImpl.getList(DeferredNamedListImpl.java:90) 
    ... 4 more 
Caused by: org.olap4j.driver.xmla.proxy.XmlaOlap4jProxyException: This proxy encountered an exception while processing the query. 
    at org.olap4j.driver.xmla.proxy.XmlaOlap4jHttpProxy.getResponse(XmlaOlap4jHttpProxy.java:181) 
    at org.olap4j.driver.xmla.proxy.XmlaOlap4jAbstractHttpProxy.get(XmlaOlap4jAbstractHttpProxy.java:181) 
    at org.olap4j.driver.xmla.proxy.XmlaOlap4jHttpProxy.get(XmlaOlap4jHttpProxy.java:42) 
    at org.olap4j.driver.xmla.XmlaOlap4jConnection.executeMetadataRequest(XmlaOlap4jConnection.java:876) 
    ... 12 more 
Caused by: java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(Unknown Source) 
    at java.io.BufferedInputStream.fill(Unknown Source) 
    at java.io.BufferedInputStream.read1(Unknown Source) 
    at java.io.BufferedInputStream.read(Unknown Source) 
    at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source) 
    at sun.net.www.http.HttpClient.parseHTTP(Unknown Source) 
    at sun.net.www.http.HttpClient.parseHTTP(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at org.olap4j.driver.xmla.proxy.XmlaOlap4jHttpProxy.getResponse(XmlaOlap4jHttpProxy.java:136) 

ответ

0

Это трудно понять, что пошло не так для вас. Несколько вещей, которые вы могли бы сделать,

  1. Не указывайте куб в соединении. Это свойство не указано как свойство в XMLA driver.
  2. Вы можете установить fiddler и посмотреть, что происходит с запросами.
  3. Не уверен, что одиночные кавычки необходимы для имени пользователя и пароля.