コード例 #1
0
        private void SetReportDataSource(string reportName, string dataSourceName, string targetFolder)
        {
            Log("Setting DataSource For Report: " + reportName);

            var reference = new DataSourceReference {
                Reference = $"{targetFolder}/{dataSourceName}"
            };
            var getItemDataSourcesResponse = reportingServicesClient.GetItemDataSources(new GetItemDataSourcesRequest {
                ItemPath = $"{targetFolder}/{reportName}"
            });
            var dataSource = getItemDataSourcesResponse.DataSources;

            Log("Report '{0}' has {1} data sources", reportName, dataSource.Length);

            var dataSources = new DataSource[dataSource.Length];
            int i;

            for (i = 0; i <= dataSource.Length - 1; i++)
            {
                var ds = new DataSource {
                    Item = reference, Name = dataSource[i].Name
                };
                dataSources[i] = ds;
                Log("Report '{0}' setting data source '{1}' to '{2}'", reportName, ds.Name, dataSourceName);
            }

            reportingServicesClient.SetItemDataSources(new SetItemDataSourcesRequest {
                ItemPath = $"{targetFolder}/{reportName}", DataSources = dataSources
            });
        }