SSRS アドレスとともに Web 構成で固定ユーザーを設定するだけです。このようにして、サイトを実行しているユーザーに依存する代わりに、サイトが使用するデフォルトを設定します。
WPF アプリの例ですが、コード ビハインドでは ASP.NET と非常によく似ています。
<Button x:Name="btnGetViewerRemoteData" Content="Remote" Click="ReportViewerRemote_Load"/>
コード ビハインド内の要素の参照名。'Microsoft.Reporting.WinForms' (または同等の ASP.NET) の名前空間をインポートしてください。
private void ResetReportViewer(ProcessingMode mode)
{
this.reportViewer.Clear();
this.reportViewer.LocalReport.DataSources.Clear();
this.reportViewer.ProcessingMode = mode;
}
private ICredentials giveuser(string aUser, string aPassword, string aDomain)
{
return new NetworkCredential(aUser, aPassword, aDomain);
}
private void ReportViewerRemoteWithCred_Load(object sender, EventArgs e)
{
ResetReportViewer(ProcessingMode.Remote);
var user = giveuser("User", "Password", "Domain");
reportViewer.ServerReport.ReportServerCredentials.ImpersonationUser = (System.Security.Principal.WindowsIdentity)user;
;
reportViewer.ServerReport.ReportServerUrl = new Uri(@"http:// (server)/ReportServer");
reportViewer.ServerReport.ReportPath = "/Test/ComboTest";
DataSourceCredentials dsCrendtials = new DataSourceCredentials();
dsCrendtials.Name = "DataSource1";
dsCrendtials.UserId = "User";
dsCrendtials.Password = "Password";
reportViewer.ServerReport.SetDataSourceCredentials(new DataSourceCredentials[] { dsCrendtials });
reportViewer.RefreshReport();
}
例をハードコーディングしましたが、サーバー、ユーザー、およびパスワードを構成ファイルに含めることができます。組織によってはパスワードのセキュリティが懸念される場合があるため、最初にパスワードをハードコードするか、マスクすることをお勧めします。