我想在C#中执行SQL分析查询.我已使用以下代码成功连接到Analysis数据库:
I want to execute a SQL Analysis Query in C#. I have successfully connected to Analysis database using the below code:
Server DM_Server = new Server(); Database AS_Database = new Database(); DM_Server.Connect(//SQL Analysis Server Connection String); AS_Database = DM_Server.Databases[//Database name];我有一个类似的SQL查询
I have a SQL query like
SELECT FLATTENED PredictAssociation() From [Mining Structure Name] NATURAL PREDICTION JOIN (SELECT (SELECT 1 AS [UserId]) AS [Vm]) AS t推荐答案
您需要使用 ADOMD.NET ,它是Microsoft.AnalysisServices.AdomdClient命名空间.也可以在 Nuget 上获得.
You need to use ADOMD.NET which is the Microsoft.AnalysisServices.AdomdClient namespace. It is also available on Nuget.
AdomdConnection conn = new AdomdConnection( "Data Source=localhost;Catalog=YourDatabase"); conn.Open(); string commandText = @"SELECT FLATTENED PredictAssociation() From [Mining Structure Name] NATURAL PREDICTION JOIN (SELECT (SELECT 1 AS [UserId]) AS [Vm]) AS t "; AdomdCommand cmd = new AdomdCommand(commandText, conn); AdomdDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Console.WriteLine(Convert.ToString(dr[0])); } dr.Close(); conn.Close();在代码示例中,我从问题中借用了DMX查询.但是任何MDX或DAX查询也应该起作用.
In the code sample I borrowed the DMX query from the question. But any MDX or DAX query should also work.
更新:.NET Core的ADOMD.NET(Microsoft.AnalysisServices.AdomdClient)为在nuget上预览时可用.这是Microsoft官方维护的库.不幸的是,目前它仅适用于Azure Analysis Services和Power BI Premium,不适用于本地Analysis Services.如果我听说未取消预览限制,则会进行更新.
Update: ADOMD.NET (Microsoft.AnalysisServices.AdomdClient) for .NET Core is available in preview on nuget now. This is an official Microsoft maintained library. Unfortunately at the moment it only works for Azure Analysis Services and Power BI Premium, not on-prem Analysis Services. I will update if I hear that preview limitation hasn’t been lifted.
更多推荐
如何在C#中执行SQL Analysis Server的MDX查询
发布评论