在SSRS中使用“Internal”参数的规则是什么?

23

SSRS 中有创建 "内部" 参数的选项:

  1. 它们在什么情况下被使用?
  2. 使用内部参数的一般规则是什么?
3个回答

35

内部参数是在SSRS中不可由最终用户在运行时配置的参数。

这与隐藏参数不同,用户不需要提供,但仍可以通过报告服务器的URL进行配置。

有关详细信息,请参见MSDN上的“创建报告参数”

它们可能的一种用途是与报表查看器控件结合使用。 ASP.Net页面可以包含报表查看器控件,并在代码后端使用内部参数为报表提供值,最终用户不应该能够控制这些值,例如UserID。

这可以防止用户提供不同的用户ID以查看他们不应该被允许查看的数据。

但是,如果您在报表中使用内部参数,但希望其在报表查看器控件之外保持功能性,则需要指定适当的默认值。否则,从报表管理器或报表服务器将无法使用该报表。


1
我正在尝试使用UserId的不同方式,通过报告服务器呈现的报告,根据查看者筛选报告中的信息。目前我发现的示例并没有使用隐藏参数。这是否是使用隐藏参数的好情况?...是的,但我需要提供一个默认值?...默认值可以是UserID变量吗? - whytheq
2
如果您使用“隐藏”参数,用户仍然可以通过编辑URL来冒充另一个用户。 - TomG
只是我吗,我无法在报表查看器控件的服务器报表上设置内部参数?这只适用于本地处理吗? - dotjoe
@dotjoe 它不应该局限于本地处理...我从未遇到过你所看到的问题,因此你可以考虑使用你正在使用的代码提出一个新问题。 - Michael Fredrickson
@dotjoe 尝试创建订阅并查看您(用户)是否可以设置该参数。我猜测用户不应该能够设置该参数。 - Anup Agrawal
显示剩余3条评论

3
如果您将参数设置为“Internal”(内部),除了在报告定义(数据集查询或存储过程)中,它不会以任何方式暴露。换句话说,“Internal Parameter(内部参数)”是一个无法在运行时更改的参数。发布的报告的最终用户将永远不会将此视为参数。但是,发布者可以随时在报告的管理选项中更改参数值。 您可以在以下链接中找到使用示例来过滤数据而不需要用户干预的内部参数的功能: https://sqlserverreportingservices.wordpress.com/2012/11/16/using-internal-parameters-to-filter-data-without-user-intervention/

2

如果您将参数设置为隐藏,用户在报表服务器上订阅时将可以看到它,但如果您将参数设置为内部,则具有浏览器角色的用户无法看到和更改它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接