使用ADOMD.Net连接到Power BI数据集

时间:2016-07-20 10:26:23

标签: c# powerbi adomd.net

我正在使用 Microsoft.AnalysisServices.AdomdClient.dll ,v13.0.0.0来从C#代码访问Power BI数据集。 一直在尝试各种连接字符串,但总是得到例外......

var connectionString = @"Provider=MSOLAP.7;Integrated Security=;Identity Provider=AAD;Data Source=https://analysis.windows.net/powerbi/api;Initial Catalog=XXXX-XXXX-GUID;Location=https://wabi-us-north-central-redirect.analysis.windows.net/xmla?vs=sobe_wowvirtualserver&db=XXX-XXX-GUID;MDX Compatibility= 1; MDX Missing Member Mode= Error; Safety Options= 2; Update Isolation Level= 2;User ID=my@workemail.com;Password=my_pswd;";
var conn = new AdomdConnection(connectionString);
conn.Open(); //throws here

上面的连接字符串会产生错误

  

"连接超时或丢失。"

此字符串基于我从Power BI下载的.odc文件,它可以在Excel中正常工作 - 数据被加载到数据透视表等中。(我猜是Excel使用COM驱动程序?)

如果我设置了集成Security = SSPIBasic,则客户端会抛出另一个错误,指出它们都不能与HTTP一起使用。

我的代码中缺少什么?我正在寻找Power BI的连接字符串的工作示例。 谢谢!

更新 上面的连接字符串有一个内部异常: "无法解析远程名称:' analysis.windows.net'" 当我点击ANALYZE IN EXCEL时,这个url就是Power BI放入odc文件的内容。我应该使用什么网址来连接.Net代码中的数据?

1 个答案:

答案 0 :(得分:0)

我发现要连接电源我需要版本19.9.0,连接会提示输入用户名和密码。

https://www.nuget.org/packages/Microsoft.AnalysisServices.AdomdClient.retail.amd64 https://www.nuget.org/packages/Microsoft.AnalysisServices.retail.amd64

connectionString= $"Provider=MSOLAP;Data Source=powerbi://api.powerbi.com/v1.0/myorg/{workspacename};";