我一直试图使用模拟检查SQL Server Analysis (SSAS)服务器上的用户的访问权限。
AdomdConnection类有以下实例方法来完成相同的任务:
public void ChangeEffectiveUser(string effectiveUserName)这里是相同的MSDN文档。
我按照NuGet包指令这里在这里项目中添加了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");
}它导致了编译失败:
Error CS1061 'AdomdConnection‘不包含'ChangeEffectiveUser’的定义,也找不到接受'AdomdConnection‘类型的第一个参数的扩展方法'ChangeEffectiveUser’(您缺少使用指令还是程序集引用?)
我是不是遗漏了什么?
发布于 2017-07-08 02:51:14
我发现MS已经更改了作为Server 2016的一部分的最新ADOMD.Net版本的ADOMD.Net包。它可以在NuGet包这里中以Unofficial.Microsoft.AnalysisServices.AdomdClient的名义获得。不知道为什么MS会采用这种策略来引入一个新的包,而他们应该只是在已经存在的NuGet包这里中以Microsoft.AnalysisServices.AdomdClient的名义添加一个新版本。
当我提到Microsoft.AnalysisServices.AdomdClient.dll的13.x版本时,它出现在Unofficial.Microsoft.AnalysisServices.AdomdClient NuGet包中,我的编译错误消失了,我可以看到API。
https://stackoverflow.com/questions/44963648
复制相似问题