Visio Studio 2010 C# WinForm对Report报表身份验证的设置

关键词: Visio Studio2010 WinForm Sqlserver2008 ReportingService 报表身份验证 数据库

问题分析: windows

Sqlserver2008自带的Reporting Service报表提供了功能强大,多种样式可供选择的报表服务;利用它本身的Reporting站点,咱们能够很方便的输入用户名密码,经过验证,浏览相应的报表; 服务器

Visio Studio2010提供了reportViewer控件,能够很方便的实现与站点某个报表的动态绑定; ide

但这个控件没有提供权限用户名及密码输入的直接接口,这样在浏览是就形成http status 401: Unauthorized…异常,那么咱们在WinForm的代码中该作如何设置,以经过报表的身份验证? 测试

咱们查询不少中文网站,都没有相应的信息,最后仍是一个英文网站找到的解决方案,并经过了测试,展示出来,与你们共享之! 网站

方案: this

C# FormLoad中做以下处理 spa

private void Form2_Load(object sender, EventArgs e) orm

        { server

            reportViewer1.ProcessingMode=Microsoft.Reporting.WinForms.ProcessingMode.Remote;

 

            reportViewer1.ServerReport.ReportPath = @"/Sales/Sales Summary";

            reportViewer1.ServerReport.ReportPath = @"/Sales/Customer list";

                reportViewer1.ServerReport.ReportServerUrl = new System.Uri(@"http://192.168.1.3/reportserver", System.UriKind.Absolute);

 

this.reportViewer1.ServerReport.ReportServerCredentials.NetworkCredentials = new System.Net.NetworkCredential(@"Bill1", "Password", @"")//这是report服务器上的本地帐号

 

this.reportViewer1.ServerReport.ReportServerCredentials.NetworkCredentials = new System.Net.NetworkCredential(@"Bill2", "Pa55word", @"DomainName")//这是域帐号

 

reportViewer1.RefreshReport();

 

}

 

测试经过

 

注意:若是出现数据库异常,这可能与您report报表的数据源设置有关系,若是您的数据源设置为windows集成验证,而当前登陆用户对数据库没有权限,就会形成数据库链接异常