使用 SQL Reporting Service 和 Visual Studio .NET 创建报表






4.46/5 (64投票s)
2004年5月10日
7分钟阅读

941543

5771
使用 SQL Reporting Service 和 Visual Studio .NET 创建报表
引言
本文将为您快速介绍如何在 ASP.NET 应用程序中使用 Microsoft 的新报表服务。报表服务相对来说非常容易使用,但它与我们习惯使用的 Crystal Reports 有些不同。
背景
报表服务基本上是一个报表服务器,它使用 SQL Server 作为其后端数据库,所有报表都部署在报表服务器上,您可以从那里访问您有权访问的任何报表。基本思想是拥有一个所有报表都部署的单一位置,并提供一个单一的访问点,这为在企业中部署报表创建了一个非常灵活的环境。这个想法与 Crystal Reports Enterprise Reporting 非常相似。
要求
在安装报表服务之前,您需要以下工具,这些工具是开发报表所必需的。对于部署,您将需要完全相同的环境,但不包括 Visual Studio .NET。
- SQL Server 2000 SP3
- IIS 5.0 或 6.0
- Visual Studio .NET
访问报表服务器管理界面
您可以通过访问 https:///reports 来开始访问您的报表服务 - 这是您可以管理报表服务的地方。您可以直接从这个网络界面查看报表和其他信息,管理订阅、安全性、数据源等等。在本文中,我们主要不会使用它,除了查看报表。
报表服务网络管理提供浏览包含报表、已部署数据源名称的文件夹。此工具提供报表的查看,但要开发报表,您必须拥有 Visual Studio .NET。
上图显示了报表服务器 Windows 服务,如您所见,它必须正在运行才能从您的开发工具访问、查看和部署报表
在我撰写本文时,我听说 Microsoft 购买了一个可以直接从报表服务网络界面创建报表的工具。我没有任何关于它何时发布的信息,但希望很快。
开发您自己的报表
1. 创建您的第一个报表
首先,您创建一个新项目,并选择报表项目。这将创建一个报表服务项目。从这里,您会找到两个文件夹:共享数据源和报表。共享数据源是一个非常有趣的特性,这是您报表的数据源所在。您可以拥有多个共享数据源,甚至每个报表一个数据源,但是如果您使用相同的数据库,重复使用相同的数据源两次并不是一个好主意。
2. 创建共享数据源
在这里,只需创建一个共享数据源,选择您的 SQL Server、Northwind 数据库,我们基本上将使用 Northwind 数据库来构建一个非常简单的报表,列出我们所有的客户。
3. 选择数据
在为您的报表选择数据之前,只需单击新建报表并选择向导,它将引导您一步步完成。首先选择您刚刚创建的数据源,然后选择表,选择您喜欢的任何表,在此示例中,我选择了 customer
表。然后选择表格,然后将所有数据字段选择到详细信息列表框中。完成后,转到报表的“数据”选项卡,您将找到表 customer
,所有字段都已选择,您可以在此处更改要在报表中选择的表或字段,就像您在 SQL Server 中创建视图时习惯的那样。
4. 选择设计
完成数据选择后,转到报表设计器,选择报表中的布局选项卡,如您在左侧工具箱中看到的,您可以使用任何报表控件来增强报表的功能和设计。您可以包含图表、图像、矩阵等。完成后,让我们预览报表。
5. 预览报表
我喜欢报表服务的其中一个功能是能够在部署前预览报表,您可以在此处查看报表,就像您在部署环境中一样。
6. 在报表服务上部署报表
现在部署部分有点棘手,您不仅仅是在 ASP.NET 页面中包含一个报表客户控件,然后就完成了,您必须首先将它们部署到您的报表服务服务器。好的,正如我们所说的,您的所有报表都是在 Visual Studio .NET 上开发的,然后它们被部署到报表服务器,无论是在您的机器上、内网还是互联网上的任何您想要的地方,只要您有权访问该报表服务器。要开始部署,右键单击您的应用程序并选择属性,将出现以下窗口。您会发现属性“OverwriteDataSources
”为 false
,将其设置为 true
,然后选择目标文件夹,这可以是任何您喜欢的。然后输入您的报表服务器的位置。在这里,它是 localhost,但它可以是一个域、IP 地址或任何您想要的位置,只要报表服务已安装在该位置即可。完成后,按 F5 或右键单击项目并选择部署,一旦完成,您的报表就会部署到您的报表服务器上。
7. 从报表服务查看报表
正如我所说,您的报表现在已部署到报表服务器上。您可以通过访问 https:///reports 直接访问它,选择您安装报表的文件夹,然后选择您的报表。报表应该如下图所示
8. 在 ASP.NET 应用程序中包含 ReportViewer 自定义控件
现在棘手的部分是如何将此报表包含在您的 ASP.NET 应用程序中,这里您将需要使用自定义控件,但是,Microsoft 不提供像 Crystal Report Viewer 自定义控件这样的自定义控件,事实上您会发现它部署在报表服务的示例目录中。自定义控件位于
C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\Samples\Applications\ReportViewer
您可以直接打开该项目并编译它,然后在您的 ASP.NET 应用程序中使用 ReportViewer
DLL。这可以通过打开您的工具箱,然后单击“添加/删除”,然后单击“浏览”并选择 ReportViewer.DLL 来完成。我将源代码和 DLL 包含在源代码中,以防您找不到它或您没有安装报表服务的示例应用程序。无论如何,选择 DLL 后,您必须从列表中选择自定义控件,如下图所示
您将找到自定义控件 ReportViewer 的名称“Microsoft Sample Report Viewer Application”。
完成后,只需在您的 ASP.NET 页面中包含自定义控件并更改以下属性
- 首先,您必须选择报表路径,这应该类似于: My Reports/Report1 - 正好是您部署报表的示例文件夹。
- 其次,您必须编辑 ServerURL,在这里,您输入您的报表服务位置 https:///reportserver/ 这是报表服务器位置,而 /reports 是报表服务器网络管理,所以请注意不要混淆。
一旦这两个都完成,您就可以通过访问您的 ASP.NET 网页开始查看您的报表。
9. 查看您的 ASP.NET 应用程序,包括您的报表
现在输入您的 Web 应用程序的位置,然后选择包含自定义控件的 ASP.NET 页面,瞧,您可以在此处找到您的报表,如下图所示。看看这多么容易!
结论
现在您可以创建任意数量的报表,并通过只更改它们的报表路径来使用自定义控件查看它们。这可以在运行时完成。如果您需要任何额外的帮助,请给我发电子邮件。
许可证
本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。
作者可能使用的许可证列表可以在此处找到。