Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
sonsi
Regular Visitor

Connecting through c#

Hi,

 

I am using code that was written for Microsoft Analysis Service, I changed my connection string to another server which is holding PBI Datasets inside. The code seems to work, but since there is a 2 way authentication process in my team, the code can't run from a machine. 

I want to use a token instead. Will this remove the need for the other authentication?

If so - what is the proper way to connect with the token?

I succeeded on getting the token, but I can't find the proper way to connect with it.

 

Right now the code looks like -

 

 

                Microsoft.AnalysisServices.Server server = new Microsoft.AnalysisServices.Server();

                try
                {
                    server.Connect(string.Format("Data source={0};", serverName));
}...

 

What am I missing?

Thanks 

1 REPLY 1
Anonymous
Not applicable

Hi @sonsi ,

You can refer the following links to connect to an Analysis Services server using a token in C#:

Get the access token:

How to get Azure Access Token using C# - JD Bots (jd-bots.com)

Connection:

Azure Analysis Services: How to open a connection from .NET | endjin - Azure Data Analytics Consulta...

c# - How to authenticate with Azure Analysis Services from Azure batch and data factory

var authority = "https://login.windows.net/<tenant-id>";
var resource = "https://southcentralus.asazure.windows.net";
var appId = "***";
var appSecret = "***";

AuthenticationContext authContext = new AuthenticationContext(authority);
ClientCredential credentials = new ClientCredential(appId, appSecret);
var task = authContext.AcquireTokenAsync(resource, credentials);
task.Wait();
string token = task.Result.AccessToken;

var connectionStringTemplate = "Provider=MSOLAP;Data Source=asazure://southcentralus.asazure.windows.net/xxxxxx;Initial Catalog= xxx;User ID=;Password={0};Persist Security Info=True;Impersonation Level=Impersonate";
var connectionString = string.Format(CultureInfo.InvariantCulture, connectionStringTemplate, token);

var server = new Server();
server.Connect(connectionString);

Best Regards

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.