XMLA/TMSL 来自 .Net Core

XMLA/TMSL from .Net Core

随着 Azure 世界的其他部分迁移到 .Net Core,Azure 分析服务似乎卡在了 .Net 框架上。

有没有办法使用 .Net Core 上可用的框架针对 SSAS 多维数据集执行 TMSL 或 XMLA?

这意味着 AMO 客户端和表格对象模型等被排除在外,因为这些程序集仅适用于 .Net Framework。

我正在尝试从 Azure Function V2 更新多维数据集数据源连接。

我在寻找同样的东西并遇到了这个: https://github.com/RadarSoft/xmla-client

它不依赖于 ADOMD.net(耶!)。不幸的是,我现在才刚刚开始使用自己的 POC,所以我还没有实际操作经验。但看起来很有前途!

这是一个执行 XMLA 的 .net 核心控制台示例,我相信它可以工作。

using Microsoft.AnalysisServices;
using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Server OlapServer = new Server();
            string connStrOlap = "Provider=MSOLAP.4; Data     Source=http://localhost/olap/msmdpump.dll; Catalog=YourCatalog;";
            OlapServer.Connect(connStrOlap);
            string XMLACommand = @"

<Batch xmlns=""http://schemas.microsoft.com/analysisservices/2003/engine"">
    <Parallel>
        .......Your XML content.......
    </Parallel>
</Batch>
     
                ";
        
            var result = OlapServer.Execute(XMLACommand);
            OlapServer.Disconnect();
            OlapServer.Dispose();
            Console.ReadKey();
        }
    }
}

一定要安装nuget包:(现在是预览版) Microsoft.AnalysisServices.NetCore.retail.amd64 Microsoft.AnalysisServices.AdomdClient.NetCore.retail.amd64