WEB开发网
开发学院数据库MSSQL Server [收藏]利用SQL Server Reporting Services 从应用... 阅读

[收藏]利用SQL Server Reporting Services 从应用程序生成用户友好的报表

 2007-11-11 11:46:18 来源:WEB开发网   
核心提示: 将报表嵌入到 Web 应用程序中如果在用户查看报表时,不再使用弹出新的浏览器窗口,[收藏]利用SQL Server Reporting Services 从应用程序生成用户友好的报表(4),您可能希望实际地将报表嵌入到自己的 Web 页中,最简单的方法就是在 Web 页上使用 IFRAME,并将其安全地存储在报表服务

将报表嵌入到 Web 应用程序中


如果在用户查看报表时,不再使用弹出新的浏览器窗口,您可能希望实际地将报表嵌入到自己的 Web 页中。最简单的方法就是在 Web 页上使用 IFRAME,并使用我介绍过的基于 URL 的相同技术来设置 SRC 属性。如果您使用这种技术,切记要将 rc:LinkTarget 参数设置为 IFRAME 的名称,以避免当用户单击报表的链接时在框架外弹出任意一个框架。


如果您以前设计过 ASP.NET 的服务器控件,您可能会认为 IFRAME 技术并不十分完美,因为它要求 Web 开发人员理解 Reporting Services 的 URL 参数语法才能构建适当的 SRC 字符串。构建一个封装有所有参数并使开发人员可以简单地设置诸如 ReportPath 和 Zoom 之类的参数的服务器控件难道不是一个更好的想法吗?


reporting Services 非常方便地附带了名为 ReportViewer 的示例(安装到 \Reporting Services\Samples\Applications\ReportViewer 目录),它可以实现这个想法。该控件封装了 IFRAME 和 URL 访问参数逻辑,并提供了一个更简单的用于将报表嵌入到应用程序中的方法。要使用该控件,请打开并构建 ReportViewer 解决方案,然后通过浏览到 ReportViewer 解决方案的 bin 目录中的 ReportViewer.dll,切换到您的 Web 应用程序并将该控件添加到工具箱中。
您可以使用该控件将嵌入报表添加到仪表板应用程序中。将控件添加到 Web 页,设置高度和宽度属性并添加以下代码以便在页面中显示一个报表:

Private Sub Page_Load(ByVal sender As System.Object, ByVal _                      e As System.EventArgs) Handles MyBase.Load    If Not IsPostBack Then        ReportViewer1.ServerUrl = "http://MyServer/ReportServer"        ReportViewer1.ReportPath = "/SampleReports/Sales Order" & _            "Detail&SalesOrderNumber=so8153"         ReportViewer1.Toolbar = ReportViewer.multiState.False        ReportViewer1.Zoom = "75"    End IfEnd Sub

保证报表的安全


reporting Services 安全性使用熟悉的基于角色的模型。用户和组可以分配给诸如 System Administrator 或 Browser 之类的角色,特定角色的所有成员都将允许执行为该角色定义的操作。


报表管理器用于执行与安全性相关的任务,例如,分配用户角色或修改项(例如,报表)的权限等。默认情况下,administrators Windows 组同时是所有文件夹的 System Administrator 和 Content Manager 的成员。为了扩展报表访问到其他用户,用户帐户或组必须添加到诸如 Browser 的角色中。这通常是在文件夹级设置的,同时也可以针对单独的报表进行重写。


除了保护对报表的访问外,管理员还必须决定如何将报表连接到源数据库。可以配置数据源使用集成的安全性,以便可以使用当前的用户帐户进行数据库连接。此外,还可以定义 Windows? 或 sql server(WINDOWS平台上强大的数据库平台) 用户名和密码,并将其安全地存储在报表服务器数据库中。这种方法要求报表运行在无用户交互(例如,订阅所涉及的交互)的情况下。

上一页  1 2 3 4 5 6  下一页

Tags:收藏 利用 SQL

编辑录入:coldstar [复制链接] [打 印]
赞助商链接