连接到数据源 (Report Builder 2.0)

在 Report Builder 2.0 中,可通过以下两种方式将数据源添加到报表中:

  • 找到并添加对报表服务器上共享数据源的引用。检索报表数据时所需的连接信息存储在报表服务器上。

  • 创建仅由报表使用的嵌入数据源。您必须提供连接信息并指定要使用的凭据。

有关详细信息,请参阅使用嵌入数据源和共享数据源 (Report Builder 2.0)为报表数据源指定凭据 (Report Builder 2.0)

指定嵌入数据源

数据源定义用于指定数据源类型、连接字符串和凭据。可以共享数据源定义以供多个报表使用,或者将其嵌入到报表定义中。您可以新建数据源定义,也可以使用现有的共享数据源。若要连接数据源,必须具有以下信息:

  • 数据源类型 数据源的特定类型,例如 MicrosoftSQL Server。请从支持的数据源类型的列表中选择该值:

    • Microsoft SQL Server

    • Microsoft SQL Server Analysis Services

    • OLE DB

    • Oracle

    • ODBC

    • SAP NetWeaver BI

    • Hyperion Essbase

    • Teradata

    • XML

      注意注意

      此外,还可以使用报表模型作为数据源。因为可以浏览到并直接从报表服务器中选择报表模型,Report Builder 2.0 中不包含其他创作环境中提供的报表服务器模型数据源类型。

  • 连接信息 也称为连接字符串,连接信息包含数据源的名称和位置,在某些情况下还包含数据访问接口的特定版本。如果数据源为数据库,则可以在连接字符串中指定相应数据库的名称。对于嵌入数据源,还可以编写在运行时计算的基于表达式的连接字符串。有关详细信息,请参阅示例连接 (Report Builder 2.0)

  • 权限 您必须已拥有使用指定凭据访问数据源和数据源上特定数据的相应权限。例如,若要连接到网络服务器上安装的 AdventureWorks2008 示例数据库,您必须拥有连接到该服务器的权限以及访问该数据库的只读权限。

    注意注意

    在本地系统预览报表所使用的凭据可能不同于查看已发布报表所需要的凭据。有关详细信息,请参阅为报表数据源指定凭据 (Report Builder 2.0)

连接到数据源之后,数据源定义将在“报表数据”窗格中显示。“报表数据”窗格显示嵌入数据源和对共享数据源的引用。

有关详细信息,请参阅:

基于表达式的连接字符串

基于表达式的连接字符串是在运行时计算的。仅当连接到报表服务器时,基于表达式的字符串才会有效。

例如,您可以将数据源指定为参数,在连接字符串中包含相应的参数引用,并允许用户选择报表的数据源。例如,假设一个跨国公司在多个国家/地区都配置了数据服务器。使用基于表达式的连接字符串,要运行销售报表的用户就可以在运行报表之前选择用于特定国家/地区的数据源。

下面的示例说明了 SQL Server 连接字符串中数据源表达式的用法。该示例假设您已经创建了一个名为 ServerName 的报表参数:

="data source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks

数据源表达式在运行时或预览报表时进行处理。此类表达式必须用 Visual Basic 编写。定义数据源表达式时请遵循以下原则:

  • 使用静态连接字符串设计报表。静态连接字符串指的是不通过表达式设置的连接字符串(例如,按照步骤创建报表特定数据源或共享数据源时,定义的就是静态连接字符串)。通过使用静态连接字符串您可以连接到数据源,这样就能获取创建报表所需的查询结果。

  • 定义数据源连接时,请不要使用共享数据源。不能在共享数据源中使用数据源表达式。您必须为报表定义嵌入数据源。

  • 在连接字符串之外单独指定凭据。您可以使用存储的凭据、提示凭据或集成安全性。

  • 添加报表参数以指定数据源。对于参数值,可以提供可用值的静态列表(这种情况下,可用值应该是报表可以使用的数据源),或定义在运行时检索数据源列表的查询。

  • 请确保列表中的数据源共用同一个数据库架构。所有报表设计都以架构信息为基础。如果用于定义报表的架构和报表运行时使用的实际架构不相符,报表将可能无法运行。

  • 在发布报表之前,使用表达式替换静态连接字符串。使用表达式替换静态连接字符串之前,必须保证已经完成了报表的设计。一旦使用了表达式,就不能在 Report Builder 2.0 中执行查询。此外,“报表数据”窗格中的字段列表以及“参数”列表将不会自动更新。

密码中的特殊字符

如果将 ODBC 或 SQL 数据源配置为提示输入密码或在连接字符串中包含密码,并且用户输入了具有标点符号等特殊字符的密码,则有些基础数据源驱动程序无法验证特殊字符。处理报表时,可能会出现“密码无效”这一消息来指示此问题。如果不能更改密码,则可以使用数据库管理员角色将相应的凭据作为系统 ODBC 数据源名称 (DSN) 的一部分存储在服务器上。有关详细信息,请参阅 .NET Framework SDK 文档中的 "OdbcConnection.ConnectionString"。

注意注意

建议您不要在连接字符串中添加登录信息(如密码)。Report Builder 2.0 在“数据源”对话框中提供了一个用于输入凭据的单独选项卡。这些凭据安全地存储在 Report Builder 2.0 计算机上。