自动更改SQL Server报告的数据源

时间:2013-11-01 15:26:49

标签: sql sql-server reporting-services database-connection

我们有一个ASP .NET MVC Web应用程序,它链接到一些SQL Server Reporting Services报告。我们的Web应用程序在早上使用一个数据库(我们将其称为“AM数据库”)和下午/晚上的不同数据库(“PM数据库”)。

我们有一个SQL Server代理作业设置,可以按计划将Web应用程序的连接字符串从AM数据库切换到PM数据库(反之亦然)。它的工作原理是使用适当的AM / PM版本复制/替换MVC应用程序的Web.config文件。这可以按预期工作。

但是,除非通过SSRS手动更改数据源,否则报告将始终指向之前使用的数据库。需要更新这些报告以指向与MVC Web应用程序相同的数据库。

如何自动执行此过程(最好通过SQL Server代理)?我们需要报告定期更改其数据库连接。

1 个答案:

答案 0 :(得分:0)

这适用于嵌入式连接我不确定共享数据源引用。只需在报表中为数据库名称和数据库服务器名称添加两个参数即可。如果您不喜欢,也可以使用代码或屏蔽名称,以便通过网络发送此信息。

在嵌入数据集中添加以下内容作为您的连接字符串

expression:="Data Source="+Parameters!DatabaseServerName.Value+";Initial Catalog="&Parameters!DatabaseName.Value

接下来,为您的凭据添加已定义的用户,然后您需要做的就是为您的应用程序中的每个报告传递两个参数。

注意:在设计可访问的服务器时,您需要添加默认值。