将参数从Report Viewer传递到SSRS

时间:2011-06-25 10:03:58

标签: reporting-services parameters

我正在尝试将用户名从我的dot net应用程序传递到Report Services。这是我的代码:

           string usern = WindowsIdentity.GetCurrent().Name.ToString();
           ReportViewer1.ProcessingMode = ProcessingMode.Remote;
           ReportViewer1.ServerReport.ReportServerUrl =
           new Uri(@"http://myserver/reportServer/");
           ReportViewer1.ServerReport.ReportPath = @"/path/subpath/reportName";
           ReportParameter[] rp = new ReportParameter[1];
           rp[0] = new ReportParameter("paramTest", usern);
           ReportViewer1.ServerReport.SetParameters(rp);
           ReportViewer1.ServerReport.Refresh();

当我在本地运行它时,一切正常,我可以在参数文本框中看到我的用户名。在服务器上运行它,我得到了“NT AUTHORITY \ NETWORK SERVICE”而不是我的用户名。 有任何想法吗?提前致谢

1 个答案:

答案 0 :(得分:1)

您的评论确认了我怀疑的内容 - NT AUTHORITY\NETWORK SERVICE 您的服务器上的Windows身份标识 - identity the application pool正在运行。

如果您使用Windows身份验证,以下三个链接可帮助您获取应用程序用户的名称: