3

我正在尝试通过 C# 在 Azure Analysis Services 中自动刷新分区。我已经安装并引用了最新的“Microsoft.AnalysisServices”。..' 在这里找到的程序集:

https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-data-providers

然后我有以下代码:

使用系统;使用 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”是意外的。

我已经看过但在任何地方都找不到任何帮助。有什么想法吗??

4

2 回答 2

1

该问题与 NuGet 包 Microsoft.AnalysisServices.Tabular (v13) 类似

幸运的是,您可以使用此处列出的 NuGet 包:https ://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-data-providers 。

在 Visual Studio NuGet 中将此包列为 Microsoft.AnalysisServices.retail.amd64

于 2018-08-14T15:00:24.467 回答
1

C:\Program Files (x86)\Microsoft SQL Server\140\SDK\Assemblies 对我来说,只有在阅读了 Andrae 的评论之后,这条路才有效,这让我朝着正确的方向前进

于 2018-01-05T21:07:06.583 回答