65.9K
CodeProject 正在变化。 阅读更多。
Home

Yukon 上的 Reporting Service

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.75/5 (10投票s)

2005年5月26日

7分钟阅读

viewsIcon

41457

使用 Reporting Service 在 Yukon 上创建基本报表的教程。

背景

SQL Server 报表服务是微软期待已久的报表技术,它能够帮助用户、客户和员工通过 Web 或公司内部网设计、编写、渲染和部署业务报表。报表引擎内置于 SQL Server 2005 数据库中(并且作为 SQL Server 2000 的免费附加组件提供),报表管理器与商业智能开发工作室集成,为所有 SQL Server 和 .NET 开发者提供了一个高效且熟悉的开发环境。

报表服务基本上是一个以 SQL Server 作为其后端数据库的报表服务器;所有报表都部署在报表服务器上。它还提供基于角色的安全性,这样您只能访问您有权访问的报表。基本思想是有一个部署所有报表的单一位置,并提供单一访问点;这创建了一个非常灵活的环境,可以在整个企业中部署您的报表。

要求

在安装 SQL Server 2005 (Yukon) 时,您需要选择报表服务模块。另一个好消息是,Yukon 本身现在提供了用于开发报表项目的开发 IDE,称为商业智能开发工作室。

  • .NET Framework 2.2。
  • 带有报表服务的 SQL Server 2005。
  • IIS 5.0 或 6.0。

创建自己的基本报表

要开始制作报表,您需要使用商业智能开发工作室创建一个报表项目。要打开商业智能开发工作室,请执行以下步骤。

  1. 单击“开始”,指向“所有程序”,指向“Microsoft SQL Server 2005”,然后单击“商业智能开发工作室”。
  2. 文件菜单上,指向新建,然后单击项目
  3. 项目类型列表中,单击商业智能项目
  4. 模板列表中,单击报表项目
  5. 名称框中,键入 TestReport。
  6. 单击确定以创建报表项目。

报表项目创建完成后,您就可以开始开发报表了。您可以使用报表向导创建这些报表,或者手动添加报表和数据源。我们先来看看报表向导,因为它非常易于使用。一旦您熟悉了它,就可以开始探索报表服务的特性了。

使用向导创建报表

在本教程中,我们将采用一个非常简单的场景,其中将显示员工姓名、员工编号、员工的官方地址和部门。为此,我们需要创建员工主表和部门主表。员工主表将通过部门 Tcode 引用部门。

  1. 创建表

    • 创建表
      • 员工表:Emp_Employee
        1. Emp_Name
        2. EMP_OFF_EMAIL
        3. EMP_NO
        4. EMP_DEP_TCODE
      • 部门表:Mst_Department
        1. DEP_DESC
        2. DEP_TCODE

    请参考以下脚本来生成必要的表。

    if exists (select * from dbo.sysobjects where id = 
               object_id(N'[dbo].[EMP_Employee]') 
    and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[EMP_Employee]
    GO
    if exists (select * from dbo.sysobjects where id = 
            object_id(N'[dbo].[Mst_Department]') 
    and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[Mst_Department]
    GO
    CREATE TABLE [dbo].[EMP_Employee] (
     [Emp_Tcode] [int] IDENTITY (1, 1) NOT NULL ,
     [Emp_Name] [varchar] (50) NOT NULL ,
     [Emp_No] [int] NOT NULL ,
     [Emp_Off_Email] [varchar] (50) NULL ,
     [Dept_Tcode] [int] NULL 
    ) ON [PRIMARY]
    GO
    CREATE TABLE [dbo].[Mst_Department] (
     [Dept_Tcode] [int] IDENTITY (1, 1) NOT NULL ,
     [Dept_Desc] [varchar] (50) NOT NULL 
    ) ON [PRIMARY]
    GO

    您可以在称为 Studio Manager 的新界面中执行此查询。

  2. 启动向导

    要启动向导,请遵循以下步骤

    1. 打开解决方案资源管理器。
    2. 您将在 TestReport 项目下找到两个文件夹。
    3. 右键单击“报表”并选择“添加新项”菜单。
    4. 这将打开“新建项”对话框,选择“报表向导”并单击“确定”。

    这将打开下面的屏幕。此屏幕提供了向导将要为您执行的任务列表。

    Sample screenshot

    单击“下一步”。

  3. 选择数据源

    向导的第一步是选择数据源。因此,首先让我们了解数据源的含义。

    1. 数据源

      数据源包含连接信息,例如数据源类型、连接字符串和凭据。报表服务提供以下类型的数据源:SQL Server、Analysis Services Oracle、ODBC 和 OLE DB。开发人员可以创建数据处理扩展来提供其他类型的数据源。

      可以拥有共享数据源或私有数据源。私有数据源将嵌入到系统中,不能用于其他报表。如果您有许多需要连接到同一数据库的报表,共享数据源是更好的选择。

    2. 选择数据源

      向导的第二个屏幕为您提供了创建必要数据源的界面。在这里,您必须指定数据源的名称、数据源的类型、查询字符串以及访问数据库的凭据。

      在本教程中,我们将选择类型为 Microsoft SQL Server,名称为 MyDataSource。现在单击“编辑”将弹出查询字符串生成器,类似于 VS.NET 查询字符串生成器,它为您提供数据库名称、用户名、密码和初始数据库。

      Sample screenshot

      Sample screenshot

    3. 凭据对话框

      使用数据源凭据,您可以指定如下身份验证过程

      • Windows 身份验证。
      • 特定用户名和密码(模拟)。
      • 用户访问报表时提示输入凭据。
      • 无凭据。

      在本教程中,我们将选择 Windows 身份验证。

      Sample screenshot

    提供数据源名称和凭据后,单击“下一步”。

  4. 选择查询

    指定数据源后,我们需要构建 DataSetDataSet 是包含要针对数据源执行的查询的对象。Yukon 提供类似于 SQL Server QueryBuilder 的界面。

    Sample screenshot

    Sample screenshot

    添加两个表 Emp_EmployeeMst_department。基于 DepartmentId 连接这两个表。并从 emp_employee 表中选择 Emp_NameDOJEmp_Off_email,从 mst_department 表中选择 Dep_Desc。这应该会为您提供以下查询。

    SELECT dbo.EMP_EMPLOYEE.EMP_NAME, dbo.EMP_EMPLOYEE.EMP_NO, 
           dbo.EMP_EMPLOYEE.EMP_OFF_EMAIL, dbo.EMP_EMPLOYEE.EMP_DES_TCODE,
           dbo.MST_DEPARTMENT.DEP_DESC
           FROM dbo.EMP_EMPLOYEE INNER JOIN
           dbo.MST_DEPARTMENT ON 
           dbo.EMP_EMPLOYEE.EMP_DEP_TCODE = dbo.MST_DEPARTMENT.DEP_TCODE

    单击“确定”。然后在主向导窗口中单击“下一步”。

  5. 选择报表类型

    Yukon 提供以下两种报表格式

    1. 表格格式
    2. 矩阵格式

    Sample screenshot

    在我们的例子中,我们将选择表格格式并单击“下一步”。

  6. 选择报表格式

    选择适合您的格式。

    Sample screenshot

    以上步骤足以创建基本报表。如果您想为报表添加组,可以单击“下一步”,或者单击“完成”切换到报表设计器视图。

    在本教程中,我们将选择样式并单击“完成”。

    这将带您进入如下所示的最终摘要页面。

    Sample screenshot

    单击“完成”,这将带您进入报表布局设计器。

    Sample screenshot

    您可以通过单击预览选项卡来预览报表,该选项卡将编译报表并显示输出。

    Sample screenshot

    构建和部署报表

    要开始部署,右键单击您的应用程序并选择“属性”,将出现以下窗口。您会发现“OverwriteDataSources”属性为 false,将其设置为 true,然后选择目标文件夹,可以是任何您喜欢的名称。然后在此处输入您的报表服务器的位置,通常是 localhost,但也可以是域、IP 地址或任何您想要的位置,只要报表服务安装在该位置即可。

  7. 设置 TargetServerURL & TargetForlder

    在部署之前,您必须设置要部署报表的 TargetServerURL 和 TargetFolder。在我们的例子中,我们希望将报表部署到本地报表服务器的子目录,例如“TestReport”,因此分别设置 https:///ReportServer 和“TestReport”值。

    Sample screenshot

  8. 通过 IDE 部署

    完成后,按 F5 或右键单击项目并选择“部署”,一旦完成,您的报表就会部署到您的报表服务器。这将把“EmployeeDetail.rdl”文件和数据源 <Datasource>.ds 文件部署到 ReportServer。

管理报表服务

您可以通过访问 https:///reports 来开始访问您的报表服务。在这里,您可以直接从该 Web 界面管理您的报表服务。您可以查看报表和其他信息,管理订阅、安全性、数据源等。在本文中,我们主要只使用它来查看报表。

Sample screenshot

报表服务 Web 管理提供浏览包含报表、您已部署的数据源名称的文件夹。

Sample screenshot

上图显示了 ReportServer Windows 服务。如您所见,它必须正在运行才能从开发工具访问、查看和部署报表。

在 IE 中查看报表

一旦我们将报表部署到 ReportServer,我们就可以直接通过 IE 查看这些报表。您需要 IE 5.0 或更高版本才能正确查看。

所以,打开 IE,输入 URL https:///ReportServer 并按 Enter。这将为您提供目录浏览器。在这里,我们将看到我们的“TestReport”目录列表,如下所示。

Sample screenshot

在这里,您可以单击 TestReport,这将显示列出的“EmployeeDetail”报表。单击链接后,您将获得报表。您可以复制此 URL 并将其用作 IFrame 源或 Frame 源,以便与其他 Web 页面共享此报表详细信息。

摘要

希望此演练能让您一窥备受期待的 Yukon 报表服务。如果您对此有任何疑问,请随时与我联系,我将尽力为您解决。

© . All rights reserved.