SQL Azure 连接类型 (SSRS)
Microsoft SQL Azure 数据库 是基于云的、构建在 SQL Server 技术之上的托管关系数据库。若要在报表中包括来自 SQL Azure 数据库 的数据,您必须有一个基于 SQL Azure 类型的报表数据源的数据集。此内置数据源类型基于 SQL Azure 数据扩展插件。使用此数据源类型可连接到 SQL Azure 数据库 并从中检索数据。
此数据扩展插件支持多值参数、服务器聚合以及与连接字符串分开管理的凭据。
SQL Azure 类似于内部部署的 SQL Server 实例,并且从 SQL Azure 数据库 中获取数据与从 SQL Server 中获取数据几乎是相同的(有少数例外)。SQL Azure 数据库 功能与 SQL Server 2008 相对应。
有关 SQL Azure 的详细信息,请参阅 msdn.microsoft.com 上的“SQL Azure”。
使用本主题中的信息可以生成数据源。有关分步说明,请参阅如何添加和验证数据连接或数据源(Report Builder 3.0 和 SSRS)。
本文内容
连接字符串
凭据
查询
参数
备注
操作指南主题
相关章节
连接字符串
连接到 SQL Azure 时,也会连接到云中的数据库对象。正如站点上数据库一样,托管数据库可能具有包含多个表、视图和存储过程的不同架构。可在查询设计器中指定要使用的数据库对象。如果未在连接字符串中指定数据库,则将连接到管理员为您分配的默认数据库。
请联系数据库管理员,获取连接信息以及用于连接到数据源的凭据。下面的连接字符串示例指定一个名为 AdventureWorks 的托管示例数据库。
Data Source=<host>;Initial Catalog=AdventureWorks; Encrypt=True;
此外,使用**“数据源属性”**对话框还可以提供凭据,如用户名和密码。User Id 和 Password 选项自动追加到连接字符串;您无需将它们作为连接字符串的一部分键入其中。
有关详细信息和连接字符串示例,请参阅Report Builder 3.0 中的数据连接、数据源和连接字符串。
凭据
不支持 Windows 身份验证(集成安全性)。如果尝试使用 Windows 身份验证连接到 SQL Azure,则将发生错误。SQL Azure 仅支持 SQL Server 身份验证(用户名和密码),并且用户在每次连接到 SQL Azure 时都必须提供凭据(登录名和密码)。
凭据必须具有足够的权限访问数据库。根据要执行的查询,您可能需要具有其他权限,例如运行存储过程和访问表和视图的足够权限。外部数据源的所有者必须配置相应的凭据,使这些凭据足以提供对所需数据库对象的只读访问。
在报表创作客户端,可以使用下列选项指定凭据:
使用存储的用户名和密码。若要协商当包含报表数据的数据库与报表服务器不同时产生的双跃点,请选择使用凭据作为 Windows 凭据的选项。也可以选择在连接到数据源后模拟经过身份验证的用户。
不需要提供任何凭据。若要使用此选项,您必须具有为报表服务器配置的无人参与的执行帐户。有关详细信息,请参阅 msdn.microsoft.com 上 Reporting Services 文档中的“配置无人参与的执行帐户”。
有关详细信息,请参阅数据连接、数据源和连接字符串 (SSRS) 或在 Report Builder 3.0 中指定凭据。
返回页首
查询
查询指定了要为报表数据集检索哪些数据。查询的结果集中的列填充数据集的字段集合。如果查询返回多个结果集,则报表仅处理查询所检索的第一个结果集。尽管 SQL Server 和 SQL Azure 数据库之间存在一些差别(如所支持的数据库大小),但根据 SQL Azure 数据库编写查询与根据 SQL Server 数据库编写查询是类似的。有些 Transact-SQL 语句(如 BACKUP)在 SQL Azure 中不受支持,但在报表查询中是不会使用这些语句的。有关详细信息,请参阅SQL Server 连接类型 (SSRS)。
默认情况下,如果您创建一个新查询,或者打开一个可在图形查询设计器中显示的现有查询,则可以使用关系查询设计器。可以通过下列方式指定查询:
以交互方式生成查询。使用关系查询设计器,此设计器显示表、视图、存储过程及其他数据库项按数据库架构组织的层次结构视图。选择表或视图中的列,或者指定存储过程或表值函数。通过指定筛选条件限制要检索的数据行数。通过设置参数选项自定义报表运行时的筛选器。
键入或粘贴查询。使用基于文本的查询设计器直接输入 Transact-SQL 文本、粘贴来自其他来源的查询文本、输入使用关系查询设计器无法生成的复杂查询,或输入基于查询的表达式。
从文件或报表中导入现有的查询。使用任一查询设计器中的**“导入查询”**按钮浏览到 .sql 文件或 .rdl 文件,然后导入查询。
基于文本的查询设计器支持以下两种模式:
文本 键入用于从数据源选择数据的 Transact-SQL 命令。
存储过程 从存储过程的列表中进行选择。
有关详细信息,请参阅关系查询设计器用户界面 (Report Builder 3.0) 和基于文本的查询设计器用户界面 (Report Builder 3.0)。
查询可能需要很长时间才能完成,具体取决于查询的复杂程度和查询所返回的数据。在这一版本的 SQL Azure 中,五分钟过后,即会关闭空闲连接和长时间运行的查询或事务。需要超过五分钟时间才能完成的查询将失败。建议您设计出的报表查询在用于从 SQL Azure 中获取报表数据时尽可能高效。
SQL Azure 使用的图形查询设计器提供对分组和聚合的内置支持,可帮助您编写仅检索摘要数据的查询。Transact-SQL 语言功能包括:GROUP BY 子句、DISTINCT 关键字以及 SUM 和 COUNT 等聚合。基于文本的查询设计器提供对 Transact-SQL 语言的完全支持,包括分组和聚合。有关 Transact-SQL 的详细信息,请参阅 msdn.microsoft.com 上的 SQL Server联机丛书中的 Transact-SQL 参考(数据库引擎)。
使用 Text 查询类型
在基于文本的查询设计器中,可以键入 Transact-SQL 命令来定义数据集中的数据。例如,下面的 Transact-SQL 查询选择职位为销售助理的所有雇员的姓名:
SELECT
HumanResources.Employee.BusinessEntityID
,HumanResources.Employee.JobTitle
,Person.Person.FirstName
,Person.Person.LastName
FROM
Person.Person
INNER JOIN HumanResources.Employee
ON Person.Person.BusinessEntityID = HumanResources.Employee.BusinessEntityID
WHERE HumanResources.Employee.JobTitle = 'Marketing Assistant'
单击工具栏上的**“运行”按钮 (!**) 可以运行查询并显示结果集。
若要参数化此查询,请添加一个查询参数。例如,将 WHERE 子句更改为下面的内容:
WHERE HumanResources.Employee.JobTitle = (@JobTitle)
运行查询时,会自动创建与查询参数对应的报表参数。有关详细信息,请参阅本主题后面的查询参数。
返回页首
使用 StoredProcedure 查询类型
您可以采用以下方式之一为数据集查询指定存储过程:
在**“数据集属性”对话框中,设置“存储过程”**选项。从存储过程和表值函数的下拉列表中进行选择。
在关系查询设计器中的“数据库视图”窗格中,选择存储过程或表值函数。
在基于文本的查询设计器中,从工具栏中选择 StoredProcedure。
选择存储过程或表值函数之后,就可以运行查询。系统将提示您提供输入参数的值。运行查询时,会自动创建与输入参数对应的报表参数。有关详细信息,请参阅本主题后面的查询参数。
仅支持为存储过程检索到的第一个结果集。如果存储过程返回多个结果集,则仅使用第一个结果集。
如果某个存储过程带有具有默认值的参数,则您可以访问该值,方法是使用 DEFAULT 关键字作为该参数的值。如果该查询参数链接到某个报表参数,用户可以在报表参数的输入框中键入或选择单词 DEFAULT。
有关存储过程的详细信息,请参阅 msdn.microsoft.com 上的 SQL Server 联机丛书中的“存储过程(数据库引擎)”。
返回页首
参数
如果查询文本包含查询变量或具有输入参数的存储过程,则将自动生成数据集的对应查询参数和报表的报表参数。查询文本不得包含针对每个查询变量的 DECLARE 语句。
例如,下面的 SQL 查询将创建一个名为 EmpID 的报表参数:
SELECT FirstName, LastName FROM HumanResources.Employee E INNER JOIN
Person.Contact C ON E.ContactID=C.ContactID
WHERE EmployeeID = (@EmpID)
默认情况下,各个报表参数的数据类型均为“Text”,并具有自动创建的数据集,以提供可用值的下拉列表。创建报表参数后,您可能需要更改默认值。有关详细信息,请参阅参数(Report Builder 3.0 和 SSRS)。
返回页首
备注
备用数据扩展插件
您还可以通过使用 ODBC 数据源类型从 SQL Server 数据库中检索数据。不支持使用 OLE DB 连接到 SQL Azure 数据库。
有关详细信息,请参阅ODBC 连接类型 (SSRS)。
平台和版本信息
有关平台和版本支持的详细信息,请参阅 SQL Server联机丛书中的 Reporting Services 文档的 Reporting Services 支持的数据源 (SSRS)部分。
返回页首
操作指南主题
本节包含使用数据连接、数据源和数据集的分步说明。
如何添加和验证数据连接或数据源(Report Builder 3.0 和 SSRS)
如何创建共享数据集或嵌入数据集 (Report Builder 3.0 和 SSRS)
如何向数据集添加筛选器(Report Builder 3.0 和 SSRS)
返回页首
相关章节
文档中的这些章节提供有关报表数据的深入概念性信息,以及有关如何定义、自定义和使用与数据相关的报表部件的步骤信息。
向报表添加数据(Report Builder 3.0 和 SSRS)
提供访问报表数据的概述。Report Builder 3.0 中的数据连接、数据源和连接字符串
提供有关数据连接和数据源的信息。创建和添加数据集(Report Builder 3.0 和 SSRS)
提供有关嵌入数据集和共享数据集的信息。使用报表数据集中的字段(Report Builder 3.0 和 SSRS)
提供有关查询生成的数据集字段集合的信息。SQL Server联机丛书中的 Reporting Services 文档的“Reporting Services 支持的数据源 (SSRS)”部分。
提供有关每个数据扩展插件的平台和版本支持的详细信息。
返回页首