private async Task ExportDataSet(string directoryPath, SsrsDataSet dataSet) { var filePath = Path.Combine(directoryPath, $"{dataSet.Name}.rsd"); using (var stream = File.OpenWrite(filePath)) { var bytes = await dataSet.Definition.GetBytes(); await stream.WriteAsync(bytes, 0, bytes.Length); } }
private async Task ImportDataSet(SsrsDataSet item) { var parentPath = await service.GetOrCreateContainer(item.Path, log); log.DebugFormat("Importing dataset: '{0}'", item.Path); try { var response = await service.Proxy.CreateCatalogItemAsync(new CreateCatalogItemRequest { TrustedUserHeader = trustedUserHeader, ItemType = CatalogItemType.DataSet.ToString(), Name = item.Name, Parent = parentPath, Overwrite = Overwrite, Definition = await item.Definition.GetBytes() }); log.LogServiceWarnings(response.Warnings); } catch (FaultException) { if (Overwrite) { throw; // Failure wasn't caused by existence of item. } if (!await service.ItemExists(item.Path)) { throw; } } // The Overwrite option doesn't replace the definition for some reason. await service.Proxy.SetItemDataSourcesAsync(new SetItemDataSourcesRequest { TrustedUserHeader = trustedUserHeader, ItemPath = item.Path, DataSources = new[] { new DataSource { Name = "DataSetDataSource", Item = new DataSourceReference { Reference = item.DataSourceReference } } } }); }
private void DescribeDataSet(TextWriter output, SsrsDataSet dataSet) { output.WriteLine($"Data Source: {dataSet.DataSourceReference}"); }