【问题标题】:Connection String error while using ADOMD.NET to connect to Azure Analysis使用 ADOMD.NET 连接到 Azure 分析时出现连接字符串错误
【发布时间】:2017-01-19 10:40:07
【问题描述】:

我正在尝试使用 ADOMD.NET 从云中部署的模型中检索 Azure 分析服务中的数据。代码 sn-p 如下,但我收到一个错误,即 ConnectionString 无效。

using Microsoft.AnalysisServices.AdomdClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test_Analysis_Service_retrieval
{
    class Program
    {
        static void Main(string[] args)
        {
            string queryString = @"SELECT [MAP_CUST_NAME] FROM [AAS_MAPLOOKUP] where [MAP_ACT_NO] = '120000810';";
            string connectionString = @"Data Source=asazure://westus.asazure.windows.net/bbacloud;UserName=xyz@gmail.com;Password=ABC@123;";

            using (AdomdConnection connection = new AdomdConnection(connectionString))
            {
                CellSet AASOutput = null;
                System.Xml.XmlReader reader = null;
                try
                {
                    string s = connection.ConnectionString;
                    Console.WriteLine(s);
                    connection.Open();
                    AdomdCommand command = new AdomdCommand(queryString, connection);
                    command.CommandTimeout = 100000;
                    reader = command.ExecuteXmlReader();
                    Console.WriteLine(reader.ReadOuterXml());
                }
                catch(Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                finally
                {
                    if (reader != null)
                    {
                        reader.Close();
                    }
                    connection.Close();
                }
            }
        }
    }
}

【问题讨论】:

  • 这个问题你解决了吗?

标签: azure adomd.net azure-analysis-services


【解决方案1】:

您需要做的第一件事是确保您安装了最新的 ADOMD.NET (AdomdClient)。从here 下载。安装后,请确保您的 C# 项目在以下位置引用它:

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.AnalysisServices.AdomdClient\v4.0_13.0.0.0__89845dcd8080cc91\Microsoft.AnalysisServices.AdomdClient.dll

接下来,您需要将连接字符串更改为:

string connectionString = @"Data Source=asazure://westus.asazure.windows.net/bbacloud;User ID=user@domain.com;Password=pwdHere;Initial Catalog=DatabaseNameHere";

注意几点。首先,它是用户 ID 而不是用户名。其次,用户需要是 Azure Active Directory 用户(组织帐户,而不是个人 LiveID)。最后,您需要指定初始目录以确保连接到正确的数据库,以防您部署了多个数据库。

更新:Nuget 上提供了最新的here。或者,如果您正在构建 .NET Core 应用,请使用 this

【讨论】:

  • 这是我第一次看到 dll 文件的路径进入 Windows 而不是 Program Files,我终于能够连接到 Power BI!
  • @halfofaglazier 我用一个绝对最新的 Nuget 链接更新了答案。强烈建议连接到 Power BI
【解决方案2】:

原来这个问题是由于 AdomdClient 的 RTM 版本实际上不支持 Azure Analysis Services 的 RTM 版本。因此,需要以下 Nuget 包:

https://github.com/ogaudefroy/Unofficial.Microsoft.AnalysisServices.AdomdClient

删除/卸载 Microsoft.AnalysisServices.AdomdClient.12.0.2000.8 的版本 12(RTM 版本)并安装上述 AdomdClient 后,一切正常。总之,v12版本没有内置解析asazure://DataSources的代码

非常烦人,因为 Microsoft 网站上没有文档,也没有与该问题相关的支持。但是,这将解决您的问题。

【讨论】:

猜你喜欢
  • 2020-10-11
  • 2019-11-03
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
  • 2018-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多