1

我有一个 Azure 分析服务模型,我正在尝试使用 ADOMD 和 Dax 查询从 Azure Web API/Azure Functions 进行查询。我找不到任何可以与 Azure 分析服务器一起使用的 nuget 包,我唯一能找到的内容如下:

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

我按照上面的帖子安装了客户端组件,并且可以使用控制台应用程序从本地计算机连接到 Azure AS。但我的最终目标是从 Azure WebAPI 和 AFAIK 连接到 Azure AS,我将无法在那里安装客户端组件。如果您曾在 Azure 分析服务 + Azure Web API 中工作过,请分享任何信息。

谢谢

4

2 回答 2

1

只需添加对最新 Microsoft.AnalysisServices.AdomdClient dll(版本:14.0.0.0)的引用,即可在 Azure WEB API 和 ADOMD 中对其进行测试。示例代码:

var connectionString = $"Provider=MSOLAP;Data Source=asazure://<azure location>.asazure.windows.net/<SSAS name>;Initial Catalog=adventureworks;User ID=<userid>;Password=****;Persist Security Info=True;Impersonation Level=Impersonate";
            var ssasConnection = new AdomdConnection(connectionString);
            ssasConnection.Open();
            var query = @"EVALUATE(Customer)";
            var cmd = new AdomdCommand(query)
            {
                Connection = ssasConnection
            };
            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    for (var i=0;i<reader.FieldCount;i++)
                    {
                        Console.WriteLine(reader[i]);
                    }
                    break;
                }
            }

我的博客也差不多:https ://unnieayilliath.com/2017/11/12/connecting-to-azure-analysis-services-using-adomd/

于 2017-10-19T12:14:47.323 回答
0

AFAIK,Azure Web Apps 在称为沙盒的安全环境中运行。您无法安装任何组件。根据我的理解,您可以在自己身边安装最新的提供程序,然后手动复制Microsoft.AnalysisServices.Tabular.DLLMicrosoft.AnalysisServices.Tabular.DLL添加到您的控制台应用程序,并添加作为连接到 Azure 分析服务的项目的引用。这是一个代码示例,您可以参考这里

对于 Azure Web 应用程序,我假设您可以引用上述两个库并连接到 Azure 分析服务。此外,您还可以使用 Azure 分析服务的 azure 函数,有关更详细的教程,您可以参考这里的官方博客

于 2017-10-19T09:34:48.423 回答