使用 2 个数据库交替加载和报告

Posted

技术标签:

【中文标题】使用 2 个数据库交替加载和报告【英文标题】:Use 2 databases to alternate loading vs reporting 【发布时间】:2015-08-26 21:57:33 【问题描述】:

由于加载过程非常长,我需要在 2 个相同的 sql 数据库之间切换以进行报告。这将允许一个用于在营业时间进行报告,而另一个则重新加载。

有没有办法将 s-s-rS 报告和 SSIS 包的连接动态分配到最新的数据库?

例子:

Mart1, Mart2

Mart1 的 s-s-rS 点用于在加载 Mart2 时进行报告。第二天,在装载 Mart1 时,将 s-s-rS 指向 Mart2。

此外,SSIS 包必须进行相同的切换。

有没有优雅的解决方案来适应这个问题?

【问题讨论】:

可能在 ssis 中使用连接管理器中的表达式。但我怀疑我们可以在 s-s-rS 中做到这一点。 您使用的是什么版本的 SQL Server (s-s-rS)?您是否在报表服务器中使用 Shared DataSet 和 DataSource? 【参考方案1】:

我正在做类似的事情,我们在 s-s-rS 中的三台服务器之间切换。

我正在使用 Environment 参数来选择具有默认值的环境。

我有一个带有嵌入式连接的数据源,其表达式为:

=IIF(Parameters!Environment.Value = "PRD", "Data Source = KXTSQLPRD01\PRDMAIN; Initial Catalog = PlanData", 
    IIF(Parameters!Environment.Value = "UAT", "Data Source = KXTSQLUAT01\UATMAIN; Initial Catalog = PlanData", 
    "Data Source = KXTSQLTST01\TSTMAIN;Initial Catalog = PlanData_Training"))
& ";User ID=username;Password=password1"

将凭据更改为不使用凭据

您可以使用 NOW 的时间来确定哪个应该是您的默认设置。

【讨论】:

以上是关于使用 2 个数据库交替加载和报告的主要内容,如果未能解决你的问题,请参考以下文章

使用交替背景色与过程报告

如何交替调用 numberOfRowsInSection 和 cellForRowAtIndexPath

报告表中的 Oracle 顶点交替颜色

在几个 NSView 之间交替

使用 RDLC 的报告无法加载数据集

解决方案:从C#app调用Crystal Report导致“数据库登录失败”或“加载报告失败”