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或某些服务器名称。我只想选择数据库而不是服务器名,所以如果我硬编码服务器名,那就太好了。如果我采用您的方法,那么它将要求我插入服务器名称和数据库名称以查看报告。