我以前在这里提出过一个话题,但有人告诉我,这可能是一个更好的地方来发布我的问题。我想知道是否可以通过 C# 查询 Azure 分析服务中的表。我将在 Azure Functions 中运行 C# 程序。我试图按照此示例进行操作,但是当我尝试运行此代码时,我不确定如何在 Azure 分析服务中引用我的表。
我的表的名称是 Trans Legacy,当我尝试运行一个简单的 SQL 命令时:
SELECT * FROM [Trans Legacy]
我得到:
错误:用户“username”无权访问引用的挖掘模型“Legacy Trans”,或者对象不存在。
我不确定这是否可行,或者我是否正确引用了表格。
谢谢你。
编辑:这是我的代码
/*
This function will create a partition of the fact tables that will contain the current month's data
*/
#r "Microsoft.AnalysisServices.Tabular.DLL"
#r "Microsoft.AnalysisServices.Core.DLL"
#r "Microsoft.AnalysisServices.AdomdClient.dll"
#r "System.Configuration"
using System;
using System.Configuration;
using Microsoft.AnalysisServices.Tabular;
using Microsoft.AnalysisServices.AdomdClient;
public static void Run(string input, TraceWriter log)
{
log.Info($"C# manually triggered function called with input: {input}");
var connStr = ConfigurationManager.ConnectionStrings["AAS"].ConnectionString;
AdomdConnection conn = new AdomdConnection(connStr);
conn.Open();
string commandText = @"SELECT
year(max(dates)) AS year,
month(max(dates)) as month
FROM [Legacy Trans]";
AdomdCommand cmd = new AdomdCommand(commandText, conn);
AdomdDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Console.WriteLine(Convert.ToString(dr[0]));
}
dr.Close();
conn.Close();
}
我正在使用的ddls如下:
- Microsoft.AnalysisServices.Core.DLL - 版本。14.0.800.117
- Microsoft.AnalysisServices.Tabular.DLL - 版本 14.0.800.117
- Microsoft.AnalysisServices.AdomdClient.dll - 版本 14.0.801.241