SSRS 以编程方式设置 "Credentials stored securely in the report server"
SSRS Set "Credentials stored securely in the report server" programmatically
我正在尝试通过我的客户端应用程序将给定的 RDL 报告设置为使用嵌入式数据源。我正在使用 ReportingService2005 class 与 SSRS 交互。我需要将嵌入式数据源设置为使用 "Credentials stored securely in the report server" 并指定用户名和密码。
谢谢!
我通过首先发布 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);
}
我正在尝试通过我的客户端应用程序将给定的 RDL 报告设置为使用嵌入式数据源。我正在使用 ReportingService2005 class 与 SSRS 交互。我需要将嵌入式数据源设置为使用 "Credentials stored securely in the report server" 并指定用户名和密码。
谢谢!
我通过首先发布 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);
}