请教关于Visual Studio2005中使用ReportViewer控件的问题!
环境:SQL Server2005 SP3、SQL Server ReportingService版本同SQL Server2005、
VS2005、ReportViewer控件SP1
问题:在Web页面中使用了ReportViewer控件来展示报表服务器上的报表。在报表服务器的管理器中对该报表添加了“IUSER_***”用户,角色是Browser。将Web程序发布到IIS上,目录安全性匿名访问,在本地访问 该页面可以正常查看报表,在其他机器上第一次访问该地址则在生成报表的时候报错:“ 因为安全原因,此 XML 文档中禁用 DTD。要启用 DTD 处理,将 XmlReaderSettings 上的 ProhibitDtd 属性设置为 false,并将该设置传递给 XmlReader.Create 方法”报表的参数列表能正常显示,点击查看报表后报上面的错误,报表的打印按钮、导出、查询等都正常显示,错误信息显示在原本生成报表的区域。关闭浏览器后再次访问同样的地址,则能正常查看报表。
另一个远程的机器,安装有SQL Server Reporting Service,访问同样的地址可以正常查看报表。如果把这个Web站点取消匿名访问,在远程机器第一次访问时输入服务器管理员的用户名和密码(集成Windows验证)同样可以正常查看报表。
尝试过在报表数据库和报表所使用的数据源数据库上添加“IUSER_*”用户,但是没有解决问题。请问使用过ReportingService的高手达人,有没有遇到过类似或相同的情况,有没有比较好的解决方案?因为不可能让客户端关闭浏览器再浏览一次才能看到报表(用户肯定不干)。