在C#中引用SSAS Tabular模型时出现异常

3
我试图通过 C#自动化 Azure Analysis Services 中的分区刷新。我已经安装并引用了最新的“Microsoft.AnalysisServices…”程序集,可以在此处找到:https://learn.microsoft.com/en-us/azure/analysis-services/analysis-services-data-providers

然后我有以下代码:

using System; Microsoft.AnalysisServices.Tabular;

    public void Run()
    {
        Server asSrv = new Server();

        try
        {

            asSrv.Connect(ASConnectionString);
            Database db = asSrv.Databases.FindByName("HospoIQTabular");
            Model m = db.Model;

            // only refresh 2017 partitions

            m.Tables["Sales"].Partitions["Sales - Post 2017"].RequestRefresh(RefreshType.Full);
            m.Tables["Payments"].Partitions["Payments - Post 2017"].RequestRefresh(RefreshType.Full);

            db.Model.SaveChanges();     // commit which will execute the refresh

        }
        catch (Exception e)
        {
            OnEventLog(e.Message);
        }
        finally
        {
            asSrv.Disconnect();
            asSrv = null;
        }

    }

连接服务器和数据库本身没有问题。但是,尝试引用 'db.Model' 会抛出以下异常:

类型 'DataSourceType' 的值“2”不符合预期。

我已经搜索过了,但无法在任何地方找到帮助。有什么想法吗?


2
我已经弄清楚了。需要直接从这里使用程序集:C:\Program Files\Microsoft SQL Server\140\SDK\Assemblies。而不是一些在线博客中指出的130版本。 - Andrae Gaeth
你的评论对我很有帮助,能否把它作为回答发布在这个问题下面? - arghtype
2个回答

2

1

对我而言,有效的路径是 C:\Program Files (x86)\Microsoft SQL Server\140\SDK\Assemblies,但是只有在阅读了 Andrae 的评论并得到正确指引后才找到了它。


我无法理解这个路径。我应该在路径中做出什么改变?你能否更具体地回答这个问题。 - SillyPerson
你好。你能分享一下你目前尝试使用的路径吗?谢谢。 - Lior

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接