Implementieren einer Command-Klasse für eine Datenverarbeitungserweiterung

Das Command-Objekt formuliert eine Anforderung und übergibt sie an die Datenquelle. Der Befehlstext kann viele verschiedene syntaktische Formate haben, einschließlich Text und XML. Wenn Ergebnisse zurückgegeben werden, gibt das Command-Objekt die Ergebnisse als DataReader-Objekt zurück.

Um eine Command-Klasse zu erstellen, implementieren Sie IDbCommand. Implementieren Sie die ExecuteReader-Methode, um ein Resultset als DataReader-Objekt zurückzugeben. Die ExecuteReader-Methode Ihrer Command-Klasse sollte eine Implementierung enthalten, die eine CommandBehavior-Enumeration als Argument verwendet. Wenn Sie die Datenverarbeitungserweiterungen im Berichts-Designer bereitstellen, geben Sie eine Implementierung an, die einen SchemaOnly-Fall in der Methode ExecuteReader behandelt. Eine Schema-Only-Implementierung wird verwendet, um dem Berichts-Designer eine Felderliste zur Verfügung zu stellen. Das DataReader-Objekt, das von der Methode ExecuteReader zurückgegeben wurde, muss Typen- und Namensdaten für die Felder oder Spalten in Ihrem Resultset enthalten.

Optional kann die Command-Klasse IDbCommandAnalysis implementieren. Mithilfe dieser Oberfläche kann eine Implementierungsklasse eine Abfrage analysieren und eine Parameterliste in der Abfrage zurückgeben. Die Funktionen der IDbCommandAnalysis-Schnittstelle werden nur im Berichts-Designer verwendet. Wenn Sie IDbCommandAnalysis implementieren, können Benutzer des Berichts-Designers zur Eingabe von Parametern aufgefordert werden, wenn ein Bericht im Vorschaumodus ausgeführt wird. Außerdem können Sie die Parameter im Dialogfeld Dataset auf der Registerkarte Parameter anzeigen.

Hinweis

Sie sollten IDbCommandAnalysis nicht implementieren, wenn die benutzerdefinierte Datenverarbeitungserweiterung keine Parameter unterstützt.

Eine Beispiel-Command-Klassenimplementierung finden Sie unter SQL Server Reporting Services-Produktbeispiele.