Compartilhar via


Implementando uma classe de conexão para uma extensão de processamento de dados

O objeto Connection representa uma conexão de banco de dados ou um recurso semelhante e é o ponto de partida para usuários de uma extensão de processamento de dados do SQL Server Reporting Services. Ele representa conexões com servidores de banco de dados, embora qualquer entidade com comportamento semelhante possa ser exposta como uma Conexão.

Para implementar um objeto Connection , crie uma classe que implemente IDbConnection e, opcionalmente, implemente IDbConnectionExtension.

Em sua implementação, você deve garantir que uma conexão seja criada e aberta antes que os comandos possam ser executados. Verifique se sua implementação exige que os clientes abram e fechem conexões explicitamente, em vez de ter sua implementação aberta e fechar conexões implicitamente para o cliente. Execute suas verificações de segurança quando a conexão for obtida. Exigir uma conexão existente para as outras classes em sua extensão de processamento de dados do SSRS garantirá que as verificações de segurança sejam sempre executadas ao trabalhar com sua fonte de dados.

As propriedades da conexão desejada são representadas como uma cadeia de conexão. É altamente recomendável que as extensões de processamento de dados SSRS ofereçam suporte à ConnectionString propriedade usando o sistema de par nome/valor familiar definido pelo OLE DB.

Observação

Objetos de conexão geralmente são intensivos em recursos para obter, portanto, talvez você queira considerar o pool de conexões ou outras técnicas para atenuar isso.

IDbConnection herda de IExtension. Você deve implementar a IExtension interface como parte da implementação da classe de conexão. A IExtension interface permite que uma classe implemente um nome de extensão localizado e processe informações de configuração específicas de extensão armazenadas no arquivo de configuração do Reporting Services.

Seu objeto Connection contém a LocalizedName propriedade por meio de sua implementação de IExtension. É altamente recomendável que as extensões de processamento de dados do Reporting Services ofereçam suporte à LocalizedName propriedade, para que os usuários encontrem um nome localizado familiar para a extensão em uma interface do usuário, como o Gerenciador de Relatórios.

IExtension também permite que o objeto Connection recupere e processe dados de configuração personalizados armazenados no arquivo RSReportServer.config. Para obter mais informações sobre como processar dados de configuração personalizados, consulte o SetConfiguration método.

A classe que implementa IExtension não é descarregada da memória quando o restante das classes de extensão de processamento de dados são descarregadas. Por isso, você pode usar a classe Extension para armazenar informações de estado entre conexões ou armazenar dados que podem ser armazenados em cache na memória. Sua classe extension permanece na memória enquanto o servidor de relatório estiver em execução.

Você pode estender sua classe connection para incluir suporte para credenciais no Reporting Services implementando IDbConnectionExtension. Ao implementar as IntegratedSecurityUserNamepropriedades e Password as propriedades da interface, você habilita a caixa de IDbConnectionExtension seleção Segurança Integrada e as caixas de texto Nome de Usuário e Senha da caixa de diálogo Fonte de Dados no Designer de Relatórios. Isso permite que o Designer de Relatórios armazene e recupere credenciais para fontes de dados que dão suporte à autenticação. As credenciais são armazenadas com segurança e usadas ao renderizar relatórios no modo de visualização.

Observação

A implementação IDbConnectionExtension exige implicitamente que você implemente os membros do e IExtension interfacesIDbConnection.

Para obter uma implementação de classe de conexão de exemplo, consulte exemplos de produto do SQL Server Reporting Services.

Consulte Também

Extensões do Reporting Services
Implementar uma extensão de processamento de dados
Biblioteca de extensões do Reporting Services