在这篇文章里,将介绍SQL Server 2005 Express Edition 生成报表的一种方法,依赖于Report Server Project 模板,这比它的向导驱动方法相对来说更加灵活。
不考虑模板的选择,生成报表的能力依赖于Reporting Services的Report Designer组件,它组成了SQL Server 2005 Express Edition中提供这个功能的唯一内置机制。(正式版本包含了一个可选的解决方案,以Report Builder的形式,它促进了终端用户所带来的点对点报表)。它的实施是与Business Intelligence Development Studio完全集成在一起的,因此,它的所有动作(包括发布一个最终产品到Report Server Web站点)是在相同的界面中执行的(与其它Microsoft Integrated Development Environment产品是一致的)。Report Designer生成一个基于XML的Report Definition Language格式的报表定义(.rdl)文件,它指定了一个目标报表的数据源(基于后台查询),以及它的视觉特征,例如布局或形式。利用无人参与帐户管理外部数据源
现在我们要生成一个结果而不使用向导的帮助,以便更加熟悉Business Intelligence Development Studio界面可用的选项。
基于Report Server Project模板创建一个新项目(通过New Project...菜单)。这应该会出现带有两个子文件夹为Shared Data Sources和Reports的Solution Explorer窗口。从随之出现的上下文敏感菜单中,选择Add New Item...项。在这之后出现的Add New Item对话框中,选择Report模板并输入它的名称(例如Individual Customer Addresses.rdl)。点击Add将显示一个空白的、在中央位置的区域,它显示新创建的RDL文件(以及一个相应的Datasets窗口),和三个标签页Data、 Layout以及 Preview。下一步是暴露要生成我们的报表所必需的数据。在SQL Server中正确使用参数报表
后台查询结合从AdventureWorks数据库的表Person.Contact、SalesIndividual、Sales.CustomerAddress、Person.Address、 Person.CountryRegion和Person.StateProvince提取来的数据。为了使它们可用,我们需要定义一个相应的数据集(包括一个数据源和一个查询,这个查询指定我们的报表将依赖于的记录)。这是通过Business Intelligence Development Studio中报表窗口的Data标签页中的Dataset列表框来完成的。在选择了它的项后,你将看到Data Source对话框,在这个对话框中你需要指定数据集名称、它的类型(Microsoft SQL Server)和一个相应的连接字符串。设置这些参数的最简单方法是点击Edit...命令按钮,它会弹出Connection Properties对话框,在这里(在General标签页上)你可以简单地指向本地服务器和SQL Server 2005 Express Edition实例,确保登录使用的是Windows Authentication,并指定一个要连接到的数据库(在我们的例子中是AdventureWorks)。这会导致连接字符串格式为Data Source=localhost\SQLExpress; Initial Catalog=AdventureWorks。检查一下在Credentials 标签页上选择了Use Windows Authentication (Integrated Security)并点击OK来返回到我们的报表的Data标签页。
这时,你已经准备好指定哪些数据记录是范围内的。这可以通过使用默认的普通查询设计器或它的图形化工具来实现。对于前者,你只要简单地复制和黏贴这个查询(Command类型列表框设置为Text)。要使用后者,点击工具条中的开关按钮,这将自动地改变活跃的窗口,将它分隔为四个水平的面板,分别用于表、一个包含选择的字段(以及它们的别名、过滤和排序参数)的网格、一个相应的T-SQL语句、和它的执行结果。扩展的工具条暴露了一些额外的命令按钮。使用最右边的一个按钮来添加所要求的表,包括 Address (Person)、 Contact (Person)、CountryRegion (Person)、 CustomerAddress (Sales)、 Individual (Sales)和StateProvince (Person)到新创建的数据集中。接下来,选中SELECT语句中所列出的每个字段左边的复选框,也就是Individual (Sales).CustomerID、Contact (Person).LastName (排序类型为 Ascending Sort, Sort Order为1)、Contact (Person).FirstName (排序类型为Ascending Sort,Sort Order 为2)、Address (Person).AddressLine1、Address (Person).City、StateProvince (Person).Name、Address (Person).AddressLine1 (别名为 StateProvince)和CountryRegion (Person).Name (别名为 CountryRegion)。当查询完成时,你可以检查它语法的正确性和执行它来确认它会生成期望的输出(确保在你这么做之前,所有相关的外键约束都出现在上面窗口面板中的图表中)。这个步骤完成了在我们的项目中配置报表定义文件的数据部分。