[英]Process SSAS cube through c# code
我想使用 SSAS 多維數據集從 Dynamics AX 獲取數據並將數據傳遞到 wpf Devexpress PivotGrid。 我在 AX 中使用以下順序創建多維數據集:Perspective-->View-->Query(with arguments) 現在,當我每次必須手動處理多維數據集並呈現數據時更改查詢參數時。 我希望通過 c# 代碼自動完成該過程。 我試過下面的代碼
Server server = new Server();
server.Connect(cubeConnectionString);
Database database = server.Databases.FindByName(databaseName);
Cube cube = database.Cubes.FindByName(cubeName);
cube.Process(ProcessType.ProcessFull);
但它不起作用。 有人可以幫忙嗎??
我不知道你得到了什么錯誤。 要從 C# 處理多維數據集,您使用的代碼似乎是正確的,但您可能遺漏了連接字符串中的某些內容。 作為參考,您可以將此鏈接中提供的示例項目下載到我的博客:
我用來處理我的多維數據集數據庫的代碼如下......
Server server = new Server();
server.Connect("Data source=YourSSASServerName;Timeout=7200000;Integrated Security=SSPI");
Database database = server.Databases.FindByName("YourCubeDBName");
database.Process(ProcessType.ProcessFull);
我知道這個問題已經有幾年了,但我最近開發了一個解決方案來做到這一點。 我在嘗試自己解決問題時偶然發現了這個問題。
首先,檢查您的權限,看看您是否可以通過 SSMS 處理它,但我假設您已經這樣做了。
第二是使用正確的庫。 您應該使用的兩個庫是:
對我來說,我使用了兩者的 14.x 版本,並且每個 dll 都需要具有相同的版本號
您創建的 Server 對象實際上是 Microsoft.AnalysisServices.Server 並且該類需要 Microsoft.AnalysisServices.Core.Server 請參閱https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.server?view=分析服務-dotnet
https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices?view=analysisservices-dotnet 上的 doco 也強調了使用這兩個庫的必要性。
Microsoft.AnalysisServices.Core.Server 是一個抽象類,因此您將無法實例化它,這就是您使用 Microsoft.AnalysisServices.Server 的原因。 請參閱https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.core.server?view=analysisservices-dotnet
今天,您需要使用 dotnet 4.x,我認為 .Net Core 不會允許您使用這些庫(我可能是錯的)。 使用 .Net Core 對我來說失敗了,抱怨“WindowsImpersonationContext”
最后,以下代碼對我有用...
using Microsoft.AnalysisServices;
using Microsoft.AnalysisServices.Core;
void Main()
{
Microsoft.AnalysisServices.Server server = new Microsoft.AnalysisServices.Server();
server.Connect("servername") ;
Microsoft.AnalysisServices.Database db = server.Databases.FindByName("SSAS_DBName");
Microsoft.AnalysisServices.Cube cube = db.Cubes.FindByName("CubeName");
cube.Process( ProcessType.ProcessFull );
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.