Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

Implementing a Command Class for a Data Processing Extension

The Command object formulates a request and passes it on to the data source. The command text can take many different syntactical forms, including text and XML. If results are returned, the Command object returns results as a DataReader object.

To create a Command class, implement IDbCommand. Implement the ExecuteReader method to return a result set as a DataReader object. The ExecuteReader method of your Command class should include an implementation that takes a CommandBehavior enumeration as an argument. If you deploy your data processing extension to Report Designer, provide an implementation that handles a SchemaOnly case in the ExecuteReader method. A schema-only implementation is used to supply Report Designer with a fields list. The DataReader object returned by the ExecuteReader method needs to contain type and name information for the fields, or columns, in your result set.

Optionally, your Command class can implement IDbCommandAnalysis. This interface enables an implementing class to analyze a query and return a list of parameters in the query. The functionality of the IDbCommandAnalysis interface is only used in Report Designer. When you implement IDbCommandAnalysis, you enable users of Report Designer to be prompted for parameters whenever a report is run in preview mode. In addition, you can view the parameters in the Parameters tab of the Data Set dialog.


You should not implement IDbCommandAnalysis if your custom data processing extension does not support parameters.

For a sample Command class implementation, see SQL Server Reporting Services Product Samples.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2014 Microsoft. All rights reserved.