public static void UpdateSqlDatabaseConnectionString(Guid WorkspaceId, string DatasetId, string Server, string Database)
        {
            var pbiClient = TokenManager.GetPowerBiClient(requiredScopes);

            Datasource targetDatasource = pbiClient.Datasets.GetDatasourcesInGroup(WorkspaceId, DatasetId).Value.First();

            string currentServer   = targetDatasource.ConnectionDetails.Server;
            string currentDatabase = targetDatasource.ConnectionDetails.Database;

            if (Server.ToLower().Equals(currentServer.ToLower()) && Database.ToLower().Equals(currentDatabase.ToLower()))
            {
                Console.WriteLine("New server and database name are the same as the old names");
                return;
            }

            DatasourceConnectionDetails connectionDetails = new DatasourceConnectionDetails {
                Database = Database,
                Server   = Server
            };

            UpdateDatasourceConnectionRequest updateConnRequest =
                new UpdateDatasourceConnectionRequest {
                DatasourceSelector = targetDatasource,
                ConnectionDetails  = connectionDetails
            };

            UpdateDatasourcesRequest updateDatasourcesRequest = new UpdateDatasourcesRequest(updateConnRequest);

            pbiClient.Datasets.UpdateDatasourcesInGroup(WorkspaceId, DatasetId, updateDatasourcesRequest);
        }
Example #2
0
 /// <summary>
 /// Initializes a new instance of the UpdateDatasourcesRequest class.
 /// </summary>
 /// <param name="updateDetails">The connection server</param>
 public UpdateDatasourcesRequest(UpdateDatasourceConnectionRequest updateDetails)
 {
     UpdateDetails = new[] { updateDetails };
     CustomInit();
 }