Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Antes de implementar a extensão de processamento de dados do SQL Server Reporting Services, defina as interfaces a serem implementadas. Talvez você queira fornecer implementações específicas de extensão de todo o conjunto de interfaces ou pode simplesmente querer concentrar sua implementação em um subconjunto, como as interfaces e IDbCommand as interfaces nas quais os IDataReader clientes interagiriam principalmente com um conjunto de resultados como um objeto DataReader e usariam sua extensão de processamento de dados SSRS como uma ponte entre o conjunto de resultados e sua fonte de dados.
Você pode implementar extensões de processamento de dados de uma das duas maneiras:
As classes de extensão de processamento de dados podem implementar as interfaces do provedor de dados do Microsoft .NET Framework e, opcionalmente, as interfaces de extensão de processamento de dados estendidas fornecidas pelo Reporting Services.
As classes de extensão de processamento de dados podem implementar as interfaces de extensão de processamento de dados fornecidas pelo Reporting Services e, opcionalmente, as interfaces de extensão de processamento de dados estendidas.
Se a extensão de processamento de dados do Reporting Services não oferecer suporte a uma propriedade ou método específico, implemente a propriedade ou o método como sem operação. Se um cliente espera um comportamento específico, gere uma exceção NotSupportedException .
Observação
Uma implementação sem operação de uma propriedade ou método só se aplica às propriedades e métodos dessas interfaces que você escolhe implementar. As interfaces opcionais que você optar por não implementar devem ser deixadas de fora do assembly de extensão de processamento de dados. Para obter mais informações sobre se uma interface é necessária ou opcional, consulte a tabela mais adiante nesta seção.
Funcionalidade de extensão necessária
Cada extensão de processamento de dados do Reporting Services deve fornecer a seguinte funcionalidade:
Abra uma conexão com uma fonte de dados.
Analise uma consulta e retorne uma lista de nomes de campo para o conjunto de resultados.
Execute uma consulta na fonte de dados e retorne um conjunto de linhas.
Passe parâmetros de valor único para a consulta.
Iterar por linhas no conjunto de linhas e recuperar dados.
Cada extensão de processamento de dados pode ser estendida para incluir a seguinte funcionalidade:
Analise uma consulta e retorne uma lista de nomes de parâmetro usados na consulta.
Analise uma consulta e retorne a lista de campos pelos quais a consulta é agrupada.
Analise uma consulta e retorne a lista de campos pelos quais a consulta é classificada.
Forneça um nome de usuário e uma senha para se conectar à fonte de dados independente da cadeia de conexão.
Iterar por meio de linhas no conjunto de linhas e recuperar metadados auxiliares sobre os valores de dados.
Agregar dados no servidor.
Interfaces de extensão disponíveis
A tabela a seguir descreve as interfaces disponíveis e se a implementação é necessária ou opcional.
| Interfase | Descrição | Implementação |
|---|---|---|
| IDbConnection | Representa uma sessão exclusiva com uma fonte de dados. No caso de um sistema de banco de dados cliente/servidor, a sessão pode ser equivalente a uma conexão de rede com o servidor. | Obrigatório |
| IDbConnectionExtension | Representa propriedades de conexão adicionais que podem ser implementadas por extensões de processamento de dados do SSRS em relação à segurança e à autenticação. | Opcional |
| IDbTransaction | Representa uma transação local. | Obrigatório |
| IDbTransactionExtension | Representa propriedades de transação adicionais que podem ser implementadas por extensões de processamento de dados do SSRS. | Opcional |
| IDbCommand | Representa uma consulta ou comando que é usado quando conectado a uma fonte de dados. | Obrigatório |
| IDbCommandAnalysis | Representa informações de comando adicionais para analisar uma consulta e retornar uma lista de nomes de parâmetros usados na consulta. | Opcional |
| IDataParameter | Representa um parâmetro ou par nome/valor que é passado para um comando ou consulta. | Obrigatório |
| IDataParameterCollection | Representa uma coleção de todos os parâmetros relevantes para um comando ou consulta. | Obrigatório |
| IDataReader | Fornece um método de leitura de um fluxo somente encaminhamento de dados somente leitura da fonte de dados. | Obrigatório |
| IDataReaderExtension | Fornece um método de leitura de um ou mais fluxos somente de encaminhamento de conjuntos de resultados, obtidos executando um comando em uma fonte de dados. Essa interface fornece suporte adicional para agregações de campo. | Opcional |
| IExtension | Fornece a classe base para uma extensão de processamento de dados do Reporting Services. Também permite que um implementador inclua um nome localizado para a extensão e passe as configurações do arquivo de configuração para a extensão. | Obrigatório |
As interfaces de extensão de processamento de dados são idênticas a um subconjunto das interfaces, métodos e propriedades do provedor de dados do .NET Framework sempre que possível. Para obter mais informações sobre como implementar um provedor de dados completo do .NET Framework, consulte "Implementando um provedor de dados do .NET Framework" na documentação do SDK (Software Development Kit) do .NET Framework.
Consulte Também
Extensões do Reporting Services
Implementar uma extensão de processamento de dados
Biblioteca de extensões do Reporting Services