SSRS设置"凭证安全地存储在报告服务器中"编程

时间:2015-01-08 18:12:04

标签: c# reporting-services datasource

我正在尝试使用我的客户端应用程序设置给定的RDL报告以使用嵌入式数据源。我正在使用ReportingService2005类与SSRS进行交互。我需要设置嵌入式数据源以使用"凭据安全地存储在报表服务器中#34;并指定用户名和密码。

谢谢!

1 个答案:

答案 0 :(得分:2)

我通过首先发布RDL然后调用ReportingService2005 GetItemDataSources()方法解决了这个问题。然后,我修改了该数据源,随后调用了SetItemDataSources()以将更改保存到SSRS中。下面是我用以下代码完成的代码片段:

var reportItem = report.TargetFolder + "/" + report.Name;
var dataSources = new DataSource[0];

dataSources = rs.GetItemDataSources(reportItem);
if (dataSources.Any())
{
     var dataSource = (DataSourceDefinition)dataSources.First().Item;
     dataSource.CredentialRetrieval = CredentialRetrievalEnum.Store;
     dataSource.UserName = SsrsUsername;
     dataSource.Password = SsrsPassword;

     rs.SetItemDataSources(reportItem, dataSources);
 }