以编程方式更新/更改 s-s-rS 数据源(未共享)

Posted

技术标签:

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

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

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

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

【问题讨论】:

【参考方案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 ...")

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

【讨论】:

以上是关于以编程方式更新/更改 s-s-rS 数据源(未共享)的主要内容,如果未能解决你的问题,请参考以下文章

RxSwift - 当 UITextField 以编程方式更新时,UILabel 字段未更新

s-s-rS RDL 以编程方式映射数据源

如何以编程方式更改/更新 Python PyQt4 TableView 中的数据?

以编程方式打印 git 修订版并检查未提交的更改

UIButton 标题标签文本未使用情节提要或以编程方式更改

如何以编程方式更改或更新 NSLayoutConstraint