加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 是否可以在通过Web服务执行SSRS报告期间指定数据

发布时间:2020-12-12 08:53:49 所属栏目:MsSql教程 来源:网络整理
导读:我有一台托管我们的生产和开发数据库的服务器.它使用SQL Server Reporting Services运行SQL Server 2008(而不是R2). 我将VS 2008 Reporting Services项目部署到服务器以提供报告.所有报告都使用单个共享数据源,当前指向生产数据库. 其他地方的后台服务通过Web
我有一台托管我们的生产和开发数据库的服务器.它使用SQL Server Reporting Services运行SQL Server 2008(而不是R2).

我将VS 2008 Reporting Services项目部署到服务器以提供报告.所有报告都使用单个共享数据源,当前指向生产数据库.

其他地方的后台服务通过Web服务接口向SSRS创建PDF报告.

我的问题是,在这种环境下,是否可以通过Web服务以编程方式更改要在执行期间使用的数据源,以便报表使用dev或production数据库?

我不想修改共享数据源或报表定义,我只想在执行报表之前设置数据库的名称,我无法看到这是如何实现的.

我能看到的唯一“简单”解决方案是安装另一个报表服务器实例,这对我想要的东西来说似乎有些过分.除非有人给我一个狡猾的答案,否则我即将这样做!

解决方法

是试试这个:

>创建两个报表参数“Server”和“Database”(您应该创建一个默认值,以便默认运行报表)
>将数据源定义为表达式,如下所示:

=“data source =”&参数!Server.Value& “;初始目录=”&参数!Database.Value

现在,您应该能够在运行时动态指定数据库和服务器

请记住,底层数据集定义需要在您执行报告的每个数据库和服务器中有效.

你也可以通过url字符串传递参数,如下所示:

http://server/reportserver?/dir/Report&rs:Command=Render&Server=VALUE1&Database=VALUE2

请记住,这些需要进行URL编码并记住传递Value,而不是Label,如果它们不同的话.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读