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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. 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
v-yiruan-msft
Community Support
Community Support

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

Community Support Team _ Rena
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

Check out the June 2024 Power BI update to learn about new features.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.