Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 如何在SSRS报告中切换数据源_Reporting Services_Ssrs 2012 - Fatal编程技术网

Reporting services 如何在SSRS报告中切换数据源

Reporting services 如何在SSRS报告中切换数据源,reporting-services,ssrs-2012,Reporting Services,Ssrs 2012,我有一份报告,来自数据库MasterDB。现在我已经创建了同一个数据库的副本,名为MasterArchive。我已经为数据库创建了要在下拉列表中显示的参数。因此,当用户从selectdatasource下拉列表中选择MasterDB时,数据源应根据选择进行更改 如何根据选择更改数据源 谁能指导我如何做到这一点 据我所知,除了使用动态SQL之外,没有什么优雅的方法可以做到这一点 所以在您的数据集查询中,它可能看起来像 DECLARE @sql varchar(max) SET @sql =

我有一份报告,来自数据库
MasterDB
。现在我已经创建了同一个数据库的副本,名为
MasterArchive
。我已经为数据库创建了要在下拉列表中显示的参数。因此,当用户从
selectdatasource
下拉列表中选择
MasterDB
时,数据源应根据选择进行更改

如何根据选择更改数据源

谁能指导我如何做到这一点


据我所知,除了使用动态SQL之外,没有什么优雅的方法可以做到这一点

所以在您的数据集查询中,它可能看起来像

DECLARE @sql varchar(max)

SET @sql = 'SELECT * FROM ' + QUOTENAME(@datasourceParameter) + '[dbo].[myTable]'

EXEC (@sql)
它相当笨重,但能用


似乎不需要编辑数据源,它似乎在报表执行期间设置一次,即使它基于参数。我做了短暂的测试,但无法让它工作。这可能值得进一步研究,因为这将是一个更优雅的解决方案。

通过单击
Build
按钮下方的
fx
按钮,实际上可以为连接字符串编写表达式。例如,表达式类似于:

="Data Source=...;Initial Catalog=" + Parameters!DataSource.Value

如何放置硬编码的数据源值,如localhost或某些服务器名称。我只想选择数据库而不是服务器名,所以如果我硬编码服务器名,那就太好了。如果我采用您的方法,那么它将要求我插入服务器名称和数据库名称以查看报告。