You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式更新SSRS数据源凭据的Windows账号密码

问题根因

你仅修改了本地内存中的DataSourceDefinition对象属性,未将变更提交到SSRS服务器,因此修改不会落地生效。

解决步骤
  • 完成密码属性赋值后,先确认两个和凭据存储相关的属性配置与界面选择一致
  • 调用SSRS服务的SetItemDataSources接口提交修改
完整可用代码
ReportingService2010.ReportingService2010 rsClient = new ReportingService2010.ReportingService2010();
rsClient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

// 获取报表关联的数据源
DataSource[] dataSources = rsClient.GetItemDataSources("/MyFolder/MyReport");
DataSource ds = dataSources[0];
DataSourceDefinition dsd = (DataSourceDefinition)ds.Item;

// 配置凭据属性和界面选择对齐
dsd.CredentialRetrieval = ReportingService2010.CredentialRetrievalEnum.Store;
dsd.WindowsCredentials = true;
// 更新密码
dsd.Password = "MyPwd";

// 关键步骤:将修改后的数据源提交回SSRS服务器
rsClient.SetItemDataSources("/MyFolder/MyReport", dataSources);
注意事项
  • 运行代码的身份需要具备目标报表路径的内容编辑权限
  • 如果是共享数据源,将路径替换为共享数据源的存储路径即可,调用逻辑完全一致
  • 修改完成后可重新调用GetItemDataSources接口验证属性是否更新,再前往SSRS页面测试连接

内容的提问来源于stack exchange,提问作者faujong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:42:03