Share via


Criando conjuntos de dados de relatório de um banco de dados relacional do SQL Server

O Reporting Services tem uma extensão de processamento de dados que permite recuperar dados de relatórios de bancos de dados relacionais MicrosoftSQL Server. Essa extensão de processamento de dados recupera dados de tabelas de dados relacionais, exibições, procedimentos armazenados e outras estruturas de dados definidas na fonte de dados subjacente. Após conectar-se com a uma fonte de dados, será possível criar um conjunto de dados de relatório que definirá os dados que você deseja usar a partir dessa fonte de dados no relatório. Um conjunto de dados Reporting Services inclui uma fonte de dados, uma consulta que recupera dados quando o relatório é processado e uma coleção de campos. A definição do conjunto de dados é salva na definição de relatório. O painel Dados do Relatório mostra as definições do conjunto de dados atual em um relatório.

Você define um conjunto de dados criando uma consulta usando as chamadas de texto de consulta Transact-SQL ou de procedimento armazenado ou ainda escolhendo uma tabela e recuperando todos os dados dela. A coleção de campos para um conjunto de dados é criada automaticamente da consulta. Você pode editar os campos ou adicionar os calculados. Os campos calculados têm valores com base em expressões calculados quando a consulta é executada. Os tipos de dados dos campos serão mapeados para um subconjunto de tipos de dados CLR do .NET Framework. Para obter mais informações, consulte Compreendendo os conjuntos de dados de relatório e Como recuperar dados de uma fonte de dados do SQL Server.

Existem dois designers de consulta para fontes de dados relacionais: um designer de consulta com base em texto e um designer de consulta gráfico. O designer de consulta com base em texto é aberta por padrão. Use o designer de consulta com base em texto para inserir o texto do Transact-SQL diretamente, para colar o texto de consulta de outra fonte, para inserir consultas complexas que não podem ser criadas usando o designer de consulta gráfico ou para inserir expressões com base em consulta. Use o designer de consulta gráfico para procurar os metadados na fonte de dados para projetar de maneira interativa uma consulta ou para exibir uma lista de procedimentos armazenados ou tabelas na fonte de dados. Para obter mais informações, consulte Interface de usuário do Designer de Consulta gráfico, Interface de usuário do Designer de Consulta com base em texto e Como recuperar dados de uma fonte de dados do SQL Server.

Depois de definir uma consulta, você também pode especificar as propriedades como Timeout e CaseSensitivity e definir quais parâmetros de relatórios passam valores para parâmetros de consulta. Ao executar a consulta, você verá um conjunto de resultados a partir da fonte de dados. As colunas no conjunto de resultados são mapeadas para os campos no conjunto de dados. Quando o relatório é processado, os itens de relatórios associados aos campos do conjunto de dados exibem os dados recuperados ou os calculados. Um relatório só processa o primeiro conjunto de resultados recuperado por qualquer consulta.

Especificando uma consulta

Para uma fonte de dados do SQL Server, você pode usar o designer de consulta com base em texto ou o designer de consulta gráfico para ajudar a especificar uma consulta para seu conjunto de dados. Quando você especifica a consulta para um novo conjunto de dados, o designer de consulta gráfico é aberto por padrão. Se a consulta de conjunto de dados existente for muito complexa para ser exibida no designer de consulta gráfico, o designer de consulta com base em texto é aberto. Os designers de consultas oferecem suporte aos seguintes tipos de consulta: Text e StoredProcedure. Especifique o tipo de consulta na caixa de diálogo Propriedades do Conjunto de Dados antes de abrir o designer de consulta.

Para o tipo de consulta Text, se você incluir parâmetros de consulta em seu texto de pesquisa, o Reporting Services criará parâmetros de relatório correspondentes. Para o tipo de consulta StoredProcedure, se seus procedimentos armazenados tiverem parâmetros de entrada, o Reporting Services criará parâmetros de relatório correspondentes. Para obter mais informações sobre os parâmetros de consulta e de relatórios, consulte Usando Parâmetros de Consulta posteriormente neste tópico.

Para obter mais informações sobre cada designer de consulta, consulte Interface de usuário do Designer de Consulta com base em texto e Interface de usuário do Designer de Consulta gráfico.

Usando o tipo de consulta Text

Quando o designer de consulta é aberto no modo Text, você pode digitar os comandos Transact-SQL para definir os dados em um conjunto de dados. Por exemplo, a consulta a seguir Transact-SQL seleciona todos os nomes de todos os funcionários.

SELECT FirstName, LastName
FROM   HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID

Clique no botão Executar (!) na barra de ferramentas para executar a consulta e exibir os resultados no painel Resultado.

Você também pode importar as consultas existentes de outro relatório ou de arquivos sql.

Usando o tipo de consulta StoredProcedure

Quando o designer de consulta é aberto no modo StoredProcedure, você já selecionou o procedimento armazenado a ser usado quando você especificou StoredProcedure na caixa de diálogo Propriedades do Conjunto de Dados.

Se você já sabe o nome de um procedimento armazenado diferente que você deseja executar, poderá substituir o texto existente e digitar o nome do novo procedimento armazenado no painel de consulta.

Reporting Services oferece suporte aos procedimentos armazenados para retornar somente um conjunto de dados. Se um procedimento armazenado retornar vários conjuntos de resultados, somente o primeiro é usado.

Se um procedimento armazenado tem um parâmetro com um valor padrão, você poderá acessar esse valor em Reporting Services usando a palavra-chave DEFAULT como valor para o parâmetro. Se o parâmetro de consulta estiver vinculado a um parâmetro de relatório, o usuário poderá digitar ou selecionar a palavra DEFAULT na caixa de entrada do parâmetro de relatório. Para obter mais informações, consulte Procedimento armazenados (Mecanismo de Banco de Dados).

Usando parâmetros de consulta

Para o texto de consulta que contém parâmetros ou para os procedimentos armazenados com parâmetros de entrada, o Designer de Relatórios criará automaticamente os parâmetros de relatórios correspondentes na definição de relatório quando você executar a consulta. Quando o relatório for executado, os valores dos parâmetros de relatório passarão para os parâmetros de consulta. Por exemplo, a consulta SQL a seguir criar um parâmetro de relatório chamado EmpID:

SELECT FirstName, LastName FROM HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID 
WHERE EmployeeID = @EmpID

Você pode gerenciar a relação entre os parâmetros de relatório e os parâmetros de consulta usando Caixa de diálogo Propriedades do Conjunto de Dados, Parâmetros. As consultas com parâmetros vinculados a parâmetros de relatório não exigem a instrução DECLARE.

Embora os parâmetros de relatório sejam criados automaticamente a partir dos parâmetros de consulta, você poderá gerenciar os parâmetros de relatório separadamente no painel Dados de Relatório.

ObservaçãoObservação

Se você alterar o nome de um parâmetro de consulta ou excluir um parâmetro de consulta, o parâmetro do relatório que corresponde ao parâmetro de consulta não é alterado nem excluído automaticamente. Você pode remover ou alterar a ordem dos parâmetros de relatório, usando botões na barra de ferramentas do painel Dados do Relatório. Para obter mais informações, consulte Adicionando parâmetros ao relatório.