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