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

O objeto Command formula uma solicitação e a passa para a fonte de dados. O texto do comando pode ter várias formas sintáticas diferentes, incluindo texto e XML. Se forem retornados resultados, o objeto Command retornará resultados como um objeto DataReader.

Para criar uma classe Command, implemente IDbCommand. Implemente o método ExecuteReader para retornar um conjunto de resultados como um objeto DataReader. O método ExecuteReader da sua classe Command deve incluir uma implementação que usa uma enumeração CommandBehavior como argumento. Se você implantar a sua extensão de processamento de dados no Designer de Relatórios, crie uma implementação que manipule um caso SchemaOnly no método ExecuteReader. Uma implementação somente esquema é usada para fornecer uma lista de campos ao Designer de Relatórios. O objeto Datareader retornado pelo método ExecuteReader precisa conter informações de tipo e de nome para os campos, ou colunas, do seu conjunto de resultados.

Opcionalmente, a sua classe Command pode implementar IDbCommandAnalysis. Essa interface permite que uma classe de implementação analise uma consulta e retorne uma lista de parâmetros na consulta. A funcionalidade da interface IDbCommandAnalysis só será usada no Designer de Relatórios. Quando você implementa IDbCommandAnalysis, permite que sejam solicitados parâmetros dos usuários do Designer de Relatórios sempre que um relatório for executado em modo de visualização. Além disso, você pode exibir os parâmetros na guia Parâmetros da caixa de diálogo Conjunto de Dados.

ObservaçãoObservação

Você não deve implementar IDbCommandAnalysis se a sua extensão de processamento de dados personalizada não der suporte a parâmetros.

Para obter um exemplo da implementação da classe Command, consulte SQL Server Reporting Services Product Samples (em inglês).