gpt4 book ai didi

c# - Mono 中的 ADOMD 客户端

转载 作者:太空宇宙 更新时间:2023-11-04 03:54:13 24 4
gpt4 key购买 nike

我已经安装了 Ubuntu(v 14.04) 和 MonoDevelop(v 4.0.12)。我希望从 Linux (Ubuntu) 上运行的 C# 应用程序连接到 SSAS (分析服务)。我正在尝试在我的 C# 代码中导入 Microsoft.AnalysisServices.AdomdClient.dll。即使添加对此 dll 的引用后,由于该 dll,我仍无法编译代码。

我想知道 MonoDevelop 支持 ADOMD.NET 吗?如果 Mono 不支持 ADOMD.NET,有没有办法使用 C#、Mono 和 Linux 连接到分析服务器?

最佳答案

您实际上可以在 XMLA/SOAP 级别连接到 Analysis Services,如下所示:

首先按照描述设置 Analysis Services 的 http 代理 here 。然后,您可以通过 http POST 请求联系 IIS 应用程序,该请求会将您的请求转发到 Analysis Services 服务器,并以 XML 形式返回结果。

使用任何开发环境,将 http POST 请求发送到在上述步骤中配置的 http URL(例如 https://YourServer.example.com/olap/msmdpump.dll ),在正文中包含以下 XML:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
<Command>
<Statement>
select [Date].[Calendar].[Calendar Year].Members
on columns,
[Sales Territory].[Sales Territory Country].Members
on rows
from [Adventure Works]
</Statement>
</Command>
<Properties>
<PropertyList>
<Catalog>Adventure Works DW 2008</Catalog>
<Format>Tabular</Format>
</PropertyList>
</Properties>
</Execute>
</soap:Body>
</soap:Envelope>

然后,您将以 XML 形式返回两种格式之一的结果:表格(更类似于关系结果集)或多维,其中您将获得轴列表,然后是单元格列表。要设置格式,请保留上面代码中的查询,或更改 <Format>Tabular</Format><Format>Multidimensional</Format>获得多维格式的结果。当然,这个结果的解释取决于您的应用程序。但是 - 根据可能的 MDX 语句的变化 - 您只需编写应用程序中所需的代码。

Statement的内容XML 元素是您的 MDX 选择语句。请注意 - 由于这是 XML - 您必须转义一些特殊字符,例如 < , >&在此声明中并使用 &lt; , &gt; ,和&amp;相反。

而且它确实必须是http post请求,get请求会导致错误。

关于c# - Mono 中的 ADOMD 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25300211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com