ADOMD.NET Client Needs .NET Core Support
Please tell us when this will be available. We've been waiting years, and all ADOMD.NET does is XML over HTTP - it's pretty silly that there's no support for clients running on .NET Core!
Darren Gosbell commented
@rajasekar - pyadomd is NOT using the adomd core libraries - they have an issue open asking them to support this https://github.com/S-C-O-U-T/Pyadomd/issues/3
Thanks for the updated final version.
Is there an updated documentation, some answers to our questions, a support maybe ?
Is there any plan to make it compatible with a linux container ?
I am trying to query my powerbi metadata stored in Azure Analysis services through python. I have used Nuget package and loaded the dll "Microsoft.AnalysisServices.AdomdClient" to my root folder (RHEL Linux), when I tried to execute the below program it throws an error (screenshot attached below)
Sebastian Wachsmuth commented
It seems to be out of Preview
Thanks for all the feedback! Hopefully we're in the home stretch, and can announce GA soon.
yay...19.14.0 was just released and it seems the bug with self-contained packages is resolved. thanks @akshai
Sorry deleted my profile by mistake.
Would you have some update on the below please ?
[Deleted User] commented
Hello team, Hello @Akshai.
I am posting an issue because I have been testing for a while and I can see a memory leak coming up whenever I am using the following in an isolated controller :
DataTable testResult = new DataTable();
using (AdomdConnection conn = new AdomdConnection(connectionString))
using (AdomdDataAdapter ad = new AdomdDataAdapter(Query, conn))
Which seems like pretty straightforward code. It would be fine for a simple one-off query, but there are times where we have to run hundreds of them and Heap memory keeps growing without going down.
Is this something that will be addressed in the coming releases ?
Also, unrelated but is there a plan in the near future to have the ability to query from a linux container ?
Thank you in advance for your time.
The official release will come very soon, just as we account for some additional testing and fixing some of the bugs that are being reported. Hopefully in December, but if we can't get it wrapped up in time then it will be in January.
Is there any news about going live with a release (not prerelease)?
If there is a road map for that or an expected due date
Hi, i have same problem as David. The newest nuget packages not working - same exception. This exception appears in VS while try to debug. When try version 19.12.3-Preview client works well. Erik
This is a .net core console example executing XMLA, I am sure it works.
Hope this helps!
static void Main(string args)
Server OlapServer = new Server();
string connStrOlap = "Provider=MSOLAP.4; Data Source=http://localhost/olap/msmdpump.dll; Catalog=YourCatalog;";
string XMLACommand = @"
.......Your XML content.......
var result = OlapServer.Execute(XMLACommand);
be sure to install nuget package:(now they are preview version)
Thanks David, that helps.
It seems like there are a couple of bugs related to the new SSPI support (SSAS) and detection of Desktop runtime. We'll try to get them fixed in time for the next client library release, so keep your eyes open for that.
Thanks for the feedback Akshai. Just to make it clear, just single file executable is not a problem. The problem seems to arise when I also include the .net runtime into the executable, e.g. when I build my solution with
dotnet publish -r win10-x64 -c Release --self-contained=true -p:PublishSingleFile=true
and occurs as soon as I try to connect to an AS server via AMO e.g.
var analysisServer = new Server();
As this code runs when I don't include the runtime and the error message suggests, that I am not on the windows platform I suppose there is just some os check that somehow relies on the runtime path or something since everything else should be the same
We're researching the single file executable issue. It probably needs some work, since we weren't aware of this capability. If we can repro the problem ourselves, we should be able to get it fixed (perhaps not immediately though unless it turns out to be a super common usage pattern for .NET Core).
If we can't get a repro, we'll get in touch.
Akshai, wow that was fast :) If you need a repro just let me know. If you are ok with me decompiling the library in dotPeek, I am sure I can also provide you with a fix. Looking forward for the bugtracker
David, thanks for the feedback. Taking these one at a time:
1. We'll look at a way to let folks submit bugs somehow, we need to explore some options first.
2. I've asked an engineer to investigate the problem, but we may need to get in touch with you directly to obtain a more detailed repro.
3. SSAS support required additional work, because it needs some functionality that is Windows-only, and therefore special .NET Core code had to be written get around the cross-platform rules. This work was completed and we just released a new version (184.108.40.206) that does have SSAS support: https://docs.microsoft.com/en-us/analysis-services/client-libraries?view=asallproducts-allversions#191272-and-higher---amo-and-adomd-net-core-preview
is there any bugtracker for the adomd core libraries? It would be great if you could open up a github repo or something for this, even when you don't want to open source the libraries (although I don't see the point of why these libraries are kept closed, except for the windows authentication maybe there doesn't seem to be much magic in it). This feedback site seems sometimes as if nobody at microsoft really cares about it. Having discussions in an issue tracker would make the development process to us more transparent and satisfying. The current state of looking every few weeks or so into this feedback thread here, hoping that akshai has some news is kind of disappointing.
Anyways, as long as there is no alternative, here is some feedback to the Microsoft.AnalysisServices.NetCore.retail.amd64 library (220.127.116.11-preview): it works in my .net 5.0 app (runtime win10-x64) but as soon as i publish it to a single file executable and include the runtime in it it fails with the following error (despite the fact that I run on windows):
Unhandled exception. System.NotSupportedException: This feature is supported for a .NET Core client only on Windows systems, and requires that the .NET Core Windows-Desktop framework is installed.
at Microsoft.AnalysisServices.XmlaClient.OpenConnectionAndCheckIfSessionTokenNeeded(ConnectionInfo connectionInfo)
at Microsoft.AnalysisServices.Platform.Security.TransparentUserContext.ExecuteInUserContextImpl[TResult](Func`1 action)
at Microsoft.AnalysisServices.Platform.Security.UserContext.ExecuteInUserContext[TResult](Func`1 action)
at Microsoft.AnalysisServices.XmlaClient.OpenConnection(ConnectionInfo connectionInfo, Boolean& isSessionTokenNeeded)
at Microsoft.AnalysisServices.XmlaClient.Connect(ConnectionInfo connectionInfo, Boolean beginSession)
at Microsoft.AnalysisServices.XmlaClient.Connect(String connectionString, Boolean beginSession)
at Microsoft.AnalysisServices.Core.Server.Connect(String connectionString, String sessionId, ObjectExpansion expansionType)
at Microsoft.AnalysisServices.Core.Server.Connect(String connectionString, String sessionId)
at Microsoft.AnalysisServices.Core.Server.Connect(String connectionString)
at Tool.Program.Main(String args)
I also have another question: microsoft states that currently only AAS and PBI but not SSAS are supported. What exactly do you mean by SSAS is not supported? Did you just not test and therefore want not to support this scenario? Because I use the .net core preview AMO libraries to create and configure an SSAS database and the ,net core preview ADOMD libraries to execute queries both authenticated via windows login successfully.
Konrad Dusza commented
If it can work Linux->Windows through msdpump but with impersonation/auth then please also post instructions how to do it!
Konrad Dusza commented
We tried using Microsoft.AnalysisServices.NetCore.retail.amd64 and were able to connect from windows app using this nuget to SSAS on windows, both in the same domain.
What we really need is to connect from that app on LINUX to SSAS running on windows - can it work today (I mean without msdpump) ? If so, what is necessary? Should Linux server be in AD or something? Please provide detailed info, the whole point of using net core for many is to use Linux!