2017-07-07 69 views
0

我一直在嘗試使用模擬來檢查用戶在SQL Server Analysis Services(SSAS)服務器上的訪問。ADOMD.Net中的AdomdConnection類中缺少的ChangeEffectiveUser API(用於SSAS中的用戶模擬)

AdomdConnection類有以下實例方法來完成相同的:

public void ChangeEffectiveUser(string effectiveUserName) 

Here是對於相同的MSDN文檔。

我遵循NuGet包的說明here在我的C#項目中添加ADOMD.Net,但是當我嘗試使用API​​時,根本沒有在intellisense中看到API。

try 
{ 
    Console.WriteLine("Going to open ADOMD connection."); 
    myconnect.Open(); 
    //below line doesn't compile 
    myconnect.ChangeEffectiveUser(@"mydomainname\otherUserIamTryingToImpersonate"); 
    adomdCommand.ExecuteNonQuery(); 
    Console.WriteLine("Query executed successfully"); 
    Console.ReadLine(); 
} 
catch (Exception ex) 
{ 

    MessageBox.Show("error in connection"); 
} 

這是給編譯失敗:

錯誤CS1061「AdomdConnection」不包含一個定義爲 「ChangeEffectiveUser」和沒有擴展方法「ChangeEffectiveUser」 接受型的第一參數「AdomdConnection '可能被發現 (您是否缺少使用指令或裝配參考?)

我錯過了什麼嗎?

+0

它可能被添加到Adomd的'新版'中。你能檢查最新版本嗎?你會注意到這個組件是SQL Server的一部分。 – Subbu

+0

我從NuGet服務器安裝了最新版本。其最新的NuGet穩定版本是12.0.2000.8 – RBT

回答

1

我能夠發現MS已經更改了NuGet包,以獲取作爲SQL Server 2016一部分發布的最新ADOMD.Net版本。它在NuGet包here上以Unofficial.Microsoft.AnalysisServices.AdomdClient的名稱可用。不知道爲什麼MS採取這種策略來引入一個新的包,而不是他們應該簡單地在名爲Microsoft.AnalysisServices.AdomdClient的現有NuGet包here中添加一個新版本。

當我參考Microsoft.AnalysisServices.AdomdClient.dll的v13.x時,出現在Unofficial.Microsoft.AnalysisServices.AdomdClient NuGet包中,我的編譯錯誤消失了,我可以看到API。