2017-01-19 9 views
1

구름에 배포 된 모델에서 ADOMD.NET을 사용하여 Azure Analysis Services에서 데이터를 검색하려고합니다. 코드 스 니펫은 아래와 같습니다.하지만 ConnectionString이 유효하지 않습니다. 오류가 발생합니다.ADOMD.NET을 사용하여 Azure 분석에 연결하는 동안 연결 문자열 오류가 발생했습니다.

using Microsoft.AnalysisServices.AdomdClient; 
using System; 
using System.Collections.Generic; 
using System.Data; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace Test_Analysis_Service_retrieval 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string queryString = @"SELECT [MAP_CUST_NAME] FROM [AAS_MAPLOOKUP] where [MAP_ACT_NO] = '120000810';"; 
      string connectionString = @"Data Source=asazure://westus.asazure.windows.net/bbacloud;[email protected];[email protected];"; 

      using (AdomdConnection connection = new AdomdConnection(connectionString)) 
      { 
       CellSet AASOutput = null; 
       System.Xml.XmlReader reader = null; 
       try 
       { 
        string s = connection.ConnectionString; 
        Console.WriteLine(s); 
        connection.Open(); 
        AdomdCommand command = new AdomdCommand(queryString, connection); 
        command.CommandTimeout = 100000; 
        reader = command.ExecuteXmlReader(); 
        Console.WriteLine(reader.ReadOuterXml()); 
       } 
       catch(Exception e) 
       { 
        Console.WriteLine(e.Message); 
       } 
       finally 
       { 
        if (reader != null) 
        { 
         reader.Close(); 
        } 
        connection.Close(); 
       } 
      } 
     } 
    } 
} 
+0

해결 되었습니까? – Unnie

답변

0

가장 먼저해야 할 일은 최신 ADOMD.NET (AdomdClient)이 설치되어 있는지 확인하는 것입니다. here에서 다운로드하십시오.

string connectionString = @"Data Source=asazure://westus.asazure.windows.net/bbacloud;User [email protected];Password=pwdHere;Initial Catalog=DatabaseNameHere"; 

주 몇 가지 :

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\v4.0_13.0.0.0__89845dcd8080cc91\Microsoft.AnalysisServices.AdomdClient.dll

다음, 당신은 당신의 연결 문자열을 변경해야합니다 : 당신이 그것을 설치 한 후, 다음 C# 프로젝트는의 IT에 대한 참조가 있는지 확인 . 먼저 UserName이 아닌 User ID입니다. 둘째, 사용자는 Azure Active Directory 사용자 (조직 계정, 개인 LiveID가 아님) 여야합니다. 마지막으로 여러 데이터베이스를 배포 한 경우를 대비하여 올바른 데이터베이스에 연결하도록 초기 카탈로그를 지정해야합니다.

0

이 문제는 실제로 Azure Analysis Services의 RTM 버전을 지원하지 않는 AdomdClient의 RTM 버전으로 인한 것으로 나타났습니다. 그 결과, 다음과 같은 Nuget 패키지가 필요합니다

https://github.com/ogaudefroy/Unofficial.Microsoft.AnalysisServices.AdomdClient

당신이/제거 Microsoft.AnalysisServices.AdomdClient.12.0.2000.8의 버전 12 (RTM 버전)을 제거하고 AdomdClient의 모든 작품 위를 설치하면 잘 됐네. 간단히 말해 v12 버전에는 asazure : // 데이터 소스를 구문 분석하기위한 코드가 내장되어 있지 않습니다.

Microsoft 사이트 또는 문제와 관련된 지원에 대한 문서가 없어도 귀찮습니다. 그러나 이것은 당신의 질문을 해결할 것입니다.