C# ADOMD.Net中的AdomdConnection类缺少ChangeEffectiveUser API(用于SSAS中的用户模拟)
我一直在尝试使用模拟来检查用户对SQL Server Analysis Services(SSAS)服务器的访问 AdomdConnection类具有以下实例方法来完成相同的任务:C# ADOMD.Net中的AdomdConnection类缺少ChangeEffectiveUser API(用于SSAS中的用户模拟),c#,sql-server,ssas,impersonation,adomd.net,C#,Sql Server,Ssas,Impersonation,Adomd.net,我一直在尝试使用模拟来检查用户对SQL Server Analysis Services(SSAS)服务器的访问 AdomdConnection类具有以下实例方法来完成相同的任务: public void ChangeEffectiveUser(string effectiveUserName) 是相同的MSDN文档 我按照NuGet包的说明在我的C#项目中添加了ADOMD.Net,但是当我尝试使用API时,我根本看不到intellisense中的API try { Console.W
public void ChangeEffectiveUser(string effectiveUserName)
是相同的MSDN文档
我按照NuGet包的说明在我的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”的第一个参数
(是否缺少using指令或程序集引用?)
我遗漏了什么吗?我发现MS已经为最新的ADOMD.Net版本更改了NuGet包,该版本是SQL Server 2016的一部分。它以
非正式.Microsoft.AnalysisServices.AdomdClient
的名义在NuGet软件包上提供。不确定MS为什么会采取这种策略来引入一个新包,而他们本应该以Microsoft.AnalysisServices.AdomdClient的名义在现有的NuGet包中添加一个新版本
当我参考
非正式的.Microsoft.AnalysisServices.AdomdClient.dll的v13.x时,我的编译错误消失了,我可以看到API。它可能被添加到了“更新”的Adomd版本中。你能用最新版本检查吗?您可能已经注意到该组件是SQL Server的一部分。我从NuGet Server安装了最新版本。它在NuGet中的最新稳定版本是12.0.2000.8