Reporting Services e controles ReportViewer no Visual Studio

O controle ReportViewer é um controle de dados do Visual Studio que pode ser adicionado a uma página da Web em um projeto de aplicativo ASP.NET ou a um formulário em um aplicativo do Windows de Visual Basic. O controle incorpora os recursos de processamento e exibição de relatório diretamente em seu aplicativo. Ele também fornece um ambiente de criação integrado para que você possa criar definições de relatório de cliente (.rdlc) usando dados de qualquer objeto de dados ADO.NET. Uma API com todos os recursos fornece acesso programático ao controle e aos relatórios para que você possa configurar a funcionalidade de relatório em tempo de execução.

Embora o controle ReportViewer seja criado com a mesma tecnologia de relatório da Microsoft que o Reporting Services, ele é distribuído como um controle de dados no Visual Studio. Você pode usar o controle com o Reporting Services ou como um controle de dados incorporado que fornece ampla funcionalidade de relatório.

Para saber mais sobre o controle ReportViewer, pesquisa “Controles ReportViewer” na documentação do produto Visual Studio.

Resumo de recursos

A tabela a seguir mostra uma comparação entre o controle ReportViewer e o Reporting Services em processamento de relatório, recuperação de dados, implantação e criação de relatório. Você pode usar essas informações para determinar qual tecnologia de geração de relatórios da Microsoft é a melhor opção para seu aplicativo.

Funcionalidade

ReportViewer controles

SQL Server Reporting Services

Processamento de relatório

Processa relatórios no aplicativo cliente (modo local) ou hospeda relatórios de servidor que são executados em um servidor remoto do SQL ServerReporting Services (modo remoto).

Processa relatórios em um servidor de relatório, um serviço Web de camada intermediária que é executado no ISS (Serviços de Informações da Internet).

Formatos de saída de relatório

GDI para relatórios executados em aplicativos do Windows. HTML para relatórios executados em páginas da Web ASP.NET.

Os formatos de exportação incluem Microsoft Excel e PDF.

HTML, MHTML, TIFF, PDF, Excel, CSV e XML.

É possível escrever formatos de saída personalizados.

Recursos de relatório

Relatórios interativos e estáticos para dados multidimensionais, relacionais e visuais.

Você pode definir assemblies personalizados que sejam executados no relatório.

Você pode usar expressões para fornecer formatação condicional e agregados.

Os recursos de relatório incluem todos os fornecidos em relatórios executados em um controle ReportViewer, além do suporte para controles de relatório personalizados que você pode criar e executar em um relatório.

Tipos de fonte de dados e recuperação de dados

Processamento no cliente:

Associa diretamente a tabelas de dados ADO.NET e consome instâncias DataTable fornecidas ao controle. Também é possível associar diretamente a objetos comerciais. O processamento de dados é separado do processamento de relatório. O aplicativo fornece um conjunto de linhas ao relatório. O controle mescla o conjunto de linhas ao relatório e o renderiza em um formato de saída.

Processamento no servidor:

O relatório contém dados dos tipos de fonte de dados com suporte. O processamento de dados e a renderização são executados no servidor de relatório, e depois o relatório é carregado no controle ReportViewer.

Dados integrados e processamento de relatório em um servidor de relatório e em servidores de dados remotos.

As extensões de processamento de dados no servidor de relatório determinam os tipos de fonte de dados com suporte. As fontes de dados padrão incluem SQL Server, Analysis Services, SQL ServerIntegration Services, Oracle, XML e OLEDB.

Extensões de processamento de dados personalizadas podem ser criadas para oferecer suporte a outros tipos de fonte de dados.

Parametrização de relatório

Processamento no cliente:

O suporte interno a parâmetros de relatório fornece formatação condicional e filtragem do conjunto de resultados com base em um valor estático.

Se você quiser aceitar a entrada do usuário para parâmetros de consulta ou de relatório em tempo de execução, deverá escrever o código no seu aplicativo para oferecer esse suporte.

Diferentemente dos relatórios do Reporting Services, um controle ReportViewer executado no modo local não fornece uma área de entrada de parâmetro que possa ser usada para passar os valores utilizados durante o processamento de dados. Não há nenhuma integração entre dados e processamento de relatório nos controles ReportViewer no modo local.

Os parâmetros de relatório oferecem suporte a formatação condicional e podem ser mapeados para parâmetros de consulta, fornecendo uma maneira de passar os valores de parâmetro de relatório para uma consulta em tempo de execução. Uma área de entrada de parâmetro é fornecida por padrão no relatório. As propriedades de parâmetro podem ser definidas no momento da criação e gerenciadas em tempo de execução.

Criação de relatório e integração com o Visual Studio

Cria arquivos de definição de relatório de cliente (.rdlc) no Visual Studio. A adição de um modelo Relatório em um projeto cria um arquivo de definição de relatório, adiciona o arquivo ao seu projeto e abre um designer de relatórios integrado no espaço de trabalho do Visual Studio.

Os assistentes de Fonte de Dados do Visual Studio podem ser usados para fornecer os dados no seu aplicativo que serão usados posteriormente no relatório.

O Designer de Relatórios do Visual Studio não inclui uma guia Visualização. Para visualizar seu relatório, execute o aplicativo e visualize o relatório incorporado nele.

O Designer de Relatórios do Visual Studio é integrado à janela Fontes de Dados. Quando um usuário arrasta um campo da janela Fontes de Dados para o relatório, o Designer de Relatórios copia os metadados sobre a fonte de dados no arquivo de definição do relatório. Esses metadados são usados pelo controle ReportViewer para gerar código de associação de dados automaticamente.

Cria definições de relatório no Visual Studio através do Business Intelligence Development Studio. O Business Intelligence Development Studio adiciona modelos de projeto que são específicos dos componentes do SQL Server. Para criar relatórios, escolha um dos modelos de Projeto do Servidor de Relatório ou Assistente de Projeto do Servidor de Relatório.

Uma guia Dados, Layout e Visualização permitem definir dados, criar um layout de relatório e visualizar o relatório no mesmo espaço de trabalho.

Implantação e distribuição

Controles redistribuíveis e arquivos .rdlc podem ser incluídos em seu aplicativo. Você também pode passar a definição de relatório como um fluxo.

O ReportViewer hospeda o relatório em um formulário ou página da Web em um aplicativo que você criar e implantar.

A barra de ferramentas ReportViewer fornece navegação de página, impressão, pesquisa e formatos de exportação para oferecer suporte às operações em tempo de execução.

Implanta um servidor de relatório do SQL ServerReporting Services. As definições de relatório são armazenadas em um banco de dados do servidor de relatório, processadas em um servidor e exibidas em um aplicativo baseado em navegador ou um aplicativo personalizado.

Uma barra de ferramentas de relatório fornece navegação de página, impressão, pesquisa e formatos de exportação.

Ferramentas de exibição e Web Parts do SharePoint podem ser usados para exibir relatórios sob demanda.

Os recursos de distribuição incluem entrega de relatório baseada em assinatura para endereços de email e locais de compartilhamento de arquivos.

Acesso à Internet

Um controle ReportViewer hospedado em uma página da Web é recomendado se você quiser tornar os relatórios disponíveis em um aplicativo Web da Internet.

Você pode ajustar o controle e os relatórios a um aplicativo Web existente, usando a infra-estrutura de segurança com suporte no seu aplicativo.

É possível configurar um servidor de relatório do Reporting Services para acesso à Internet. Dependendo do aplicativo e dos requisitos de usuário, talvez seja necessário criar uma extensão de autenticação personalizada, modificar arquivos de configuração e configurar o servidor para o protocolo SSL (Secure Sockets Layer). Para obter mais informações, consulte Planejando a implantação de Extranet ou Internet.

Recursos corporativos

Nenhum no controle. Entretanto, você pode usar o controle com outros aplicativos que forneçam a funcionalidade corporativa.

Os controles ReportViewer são ideais para fornecer relatórios predefinidos que são incorporados nos aplicativos do Windows Forms e páginas da Web ASP.NET.

Os controles ReportViewer podem hospedar relatórios que estejam em uma implantação de expansão de servidor (a implantação do servidor de relatório é transparente para o controle).

Você pode usar o controle em aplicativos personalizados executados em qualquer modelo de implantação de alta disponibilidade.

O Reporting Services oferece suporte a estes recursos corporativos:

  • Implantação de expansão.

  • Processamento de relatório agendado e sob demanda.

  • Relatórios ad hoc que podem ser criados sob demanda para uma única utilização ou salvos em um servidor.

  • Assinaturas controladas por dados que roteiam a saída do relatório personalizado para uma lista dinâmica de destinatários.

  • Ferramentas de gerenciamento e configuração.

Personalização

A personalização possui suporte através da API.

Você também pode definir as propriedades em relatórios e na barra de ferramentas ReportViewer para determinar a visibilidade e a disponibilidade de recursos.

Extensões podem ser criadas para adicionar suporte para processamento de dados, entrega de relatório, autenticação personalizada e renderização de relatório.

Você pode definir as propriedades no relatório, na barra de ferramentas e no servidor de relatório.

Há suporte para personalizações adicionais através de uma extensa API.

Exemplos e instruções passo a passo

Pesquise Exemplos e instruções passo a passo no Visual Studio em Visual Studio" na documentação de produto do Visual Studio ou no MSDN.

Para obter informações sobre exemplos e instruções passo a passo no Reporting Services, consulte Como localizar tutoriais.

Documentação

Pesquise Controles ReportViewer (Visual Studio) na documentação de produto do Visual Studio ou no MSDN.

O Reporting Services está documentado nos Manuais Online do SQL Server.