【问题标题】:Update/Change SSRS DataSource(Not Shared) Programmatically以编程方式更新/更改 SSRS 数据源(未共享)
【发布时间】:2017-06-19 10:57:26
【问题描述】:

我有 asp.net 应用程序,出于报告目的,我们使用 SSRS 报告。

SSRS 报告项目,我将 DataSource1 用于所有报告。 (考虑数据库名称:DB1)

如何以编程方式更改 DataSource1 的 ConnectionString 属性(这里我想将 DB1 更改为 DB2)?

【问题讨论】:

    标签: asp.net reporting-services ssrs-2008 ssrs-2008-r2 ssrs-2012


    【解决方案1】:

    由于数据源不共享,它们嵌入在报告 rdl 文件中,这些文件本质上是 XML 文件。可能最简单的方法是直接修改这些 xml。 根据报告的复杂性,可以通过简单的字符串替换来更改数据源,但更强大的解决方案是上下文更改 例如在 powershell 中使用 xml 库:

    $Rdl = [xml] (gc -path "c:....path to report xx.rdl ...")
    $Rdl.Report.DataSources.DataSource |
    % {if ($_.GetAttribute("Name") -eq "DataSource1") {
        NewDS = $._ConnectionProperties.ConnectString.Replace("DB1","DB2")
        $._ConnectionProperties.ConnectString=$NewDS}
        }
    $Rdl.Save("c:....path to modified rdl ...")
    

    此示例适用于 ssrs-2012,不确定数据源的 xpath 在其他版本中是否相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多