Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
C# 如何访问SSRS(SQL Server 2012)中的会话变量?_C#_Asp.net_Reporting Services - Fatal编程技术网

C# 如何访问SSRS(SQL Server 2012)中的会话变量?

C# 如何访问SSRS(SQL Server 2012)中的会话变量?,c#,asp.net,reporting-services,C#,Asp.net,Reporting Services,我想访问SSRS 2012报告中的会话或视图状态变量,就像我们在c#中访问一样 会话[“用户”] 我想在SSRS报告中这样访问 我想包括生成报告时登录的用户 有没有办法做到这一点?我们可以在SSRS中的自定义代码中访问它吗?在报告本身中,您可以使用用户引用运行报告的用户!用户ID 看 评论后编辑: 由于您似乎没有运行报告的用户的内部引用,因此最好的选择可能是使用隐藏参数传递用户引用 网上图书: 可以在的“参数输入”区域中隐藏参数 已发布的报表,但在报表URL或 订阅定义 因此,在本例中,这意味着

我想访问
SSRS 2012
报告中的会话或视图状态变量,就像我们在
c#
中访问一样

会话[“用户”]

我想在
SSRS
报告中这样访问

我想包括生成报告时登录的用户


有没有办法做到这一点?我们可以在
SSRS
中的自定义代码中访问它吗?

在报告本身中,您可以使用
用户引用运行报告的用户!用户ID

评论后编辑:

由于您似乎没有运行报告的用户的内部引用,因此最好的选择可能是使用隐藏参数传递用户引用

网上图书:

可以在的“参数输入”区域中隐藏参数 已发布的报表,但在报表URL或 订阅定义

因此,在本例中,这意味着该参数永远不会对用户可见,但您可以通过编程方式进行设置


您可以根据
会话[“用户”]
将字符串传递给报表,或者以报表外部管理用户ID的方式传递给报表,然后根据需要在报表中显示/操作此参数。

如果有大量公共数据,您可以将会话数据存储在数据库的临时表中。在运行报告之前,请更新此会话数据表。然后,您可以像访问报表中的任何其他表一样访问此数据,只需将用户ID指定为参数。

在后面的代码中,您可以在报表参数处复制所需的数据

    // Copy the session username to a report param called "CurrentUser".
    ReportParameter userParam = new ReportParameter("CurrentUser", Session["user"]);

    // add the parameter to the report
    reportViewer.ServerReport.SetParameters(new ReportParameter[] { userParam });
然后将参数添加到报告中,就像添加任何其他参数一样。
参见示例:

我看到了,先生,但我不使用Windows身份验证,顺便说一句,如果有帮助的话,我使用Oracle作为数据库。用户如何访问报告?报表管理器网站?web应用程序中的ReportViewer控件?桌面应用程序中的ReportViewer控件?当您说您不使用Windows身份验证时,您指的是数据源还是访问报表的实际安全性;它们是不同的。web应用程序中的ReportViewer。好的,第二个问题呢?这适用于Oracle数据库吗?我编写的代码专门用于报告,而不是绑定到特定数据库。谢谢。。我得到了这个想法,但不是完整的答案。不过还是谢谢你。+1来自电子邮件射手:)哈哈。谢谢@Buras.=D