ADOMD.Net 中的 AdomdConnection Class 中缺少 ChangeEffectiveUser API(用于 SSAS 中的用户模拟)

ChangeEffectiveUser API (for user impersonation in SSAS) missing from AdomdConnection Class in ADOMD.Net

我一直在尝试使用模拟检查 SQL 服务器分析服务 (SSAS) 服务器上用户的访问权限。

AdomdConnection class 具有以下实例方法来完成相同的操作:

public void ChangeEffectiveUser(string effectiveUserName)

Here 是相同的 MSDN 文档。

我按照 NuGet 包说明 here 在我的 C# 项目中添加 ADOMD.Net 但是当我尝试使用 API 时我没有看到 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");
}

编译失败:

Error CS1061 'AdomdConnection' does not contain a definition for 'ChangeEffectiveUser' and no extension method 'ChangeEffectiveUser' accepting a first argument of type 'AdomdConnection' could be found (are you missing a using directive or an assembly reference?)

我是不是漏掉了什么?

我发现 MS 已经更改了作为 SQL Server 2016 的一部分的最新 ADOMD.Net 版本的 NuGet 包。它在 NuGet 包 here in the name of Unofficial.Microsoft.AnalysisServices.AdomdClient. Not sure why MS has taken this strategy to introduce a new package instead when they should have simply added a new version in the already existing NuGet package hereMicrosoft.AnalysisServices.AdomdClient.

的名义

当我引用 Unofficial.Microsoft.AnalysisServices.AdomdClient NuGet 包中 Microsoft.AnalysisServices.AdomdClient.dll 的 v13.x 时,我的编译错误消失了,我可以看到 API.