Préparer l’implémentation d’une extension de traitement des données
Avant d’implémenter votre extension pour le traitement des données SQL Server Reporting Services, vous devez définir les interfaces à implémenter. Vous souhaiterez peut-être fournir des implémentations spécifiques à l’extension de l’ensemble des interfaces, ou vous souhaiterez peut-être concentrer votre implémentation sur un sous-ensemble, comme les IDataReader IDbCommand interfaces dans lesquelles les clients interagiraient principalement avec un jeu de résultats en tant qu’objet DataReader et utiliseraient votre extension de traitement des données SSRS comme pont entre le jeu de résultats et votre source de données.
Vous pouvez implémenter des extensions pour le traitement des données selon l'une des deux manières suivantes :
Vos classes d’extension pour le traitement des données peuvent implémenter les interfaces de fournisseur de données Microsoft .NET Framework et, le cas échéant, les interfaces d’extension pour le traitement des données étendues fournies par Reporting Services.
Vos classes d’extension pour le traitement des données peuvent implémenter les interfaces d’extension pour le traitement des données fournies par Reporting Services et, le cas échéant, les interfaces d’extension pour le traitement des données étendues.
Si votre extension de traitement des données Reporting Services ne prend pas en charge une propriété ou une méthode particulière, implémentez la propriété ou la méthode comme sans opération. Si un client attend un comportement particulier, levez une exception NotSupportedException.
Notes
L' implémentation d'une propriété ou méthode sous la forme d'une non opération est limitée aux propriétés et méthodes des interfaces que vous choisissez d'implémenter. Les interfaces que vous choisissez éventuellement de ne pas implémenter doivent être ignorées par votre assembly d'extension pour le traitement des données. Pour plus d'informations sur l'utilisation nécessaire ou facultative d'une interface, consultez le tableau plus loin dans cette section.
Fonctionnalités d’extension requises
Chaque extension pour le traitement des données Reporting Services doit fournir les fonctionnalités suivantes :
Ouvrir une connexion à une source de données.
Analyser une requête et renvoyer une liste de noms de champs pour le jeu de résultats.
Exécuter une requête avec la source de données et renvoyer un ensemble de lignes.
Passer des paramètres à valeur unique à la requête.
Effectuer une itération dans les lignes de l'ensemble de lignes et récupérer des données.
Chaque extension pour le traitement des données peut être étendue pour inclure les fonctionnalités suivantes :
Analyser une requête et retourner la liste des noms de paramètres utilisés dans la requête.
Analyser une requête et retourner la liste des champs selon lesquels la requête est groupée.
Analyser une requête et retourner la liste des champs selon lesquels la requête est triée.
Fournir un nom d'utilisateur et un mot de passe pour se connecter à la source de données qui est indépendante de la chaîne de connexion.
Effectuer une itération dans les lignes de l'ensemble de lignes et extraire les métadonnées auxiliaires relatives aux valeurs de données.
Effectuer l'agrégation de données sur le serveur.
Interfaces d’extension disponibles
Le tableau suivant décrit les interfaces disponibles et indique si l'implémentation est requise ou facultative.
Interface | Description | Implémentation |
---|---|---|
IDbConnection | Représente une session unique avec une source de données. Dans un système de base de données client/serveur, la session peut être équivalente à une connexion réseau au serveur. | Requis |
IDbConnectionExtension | Représente plus de propriétés de connexion qui peuvent être implémentées par les extensions de traitement des données SSRS concernant la sécurité et l’authentification. | Facultatif |
IDbTransaction | Représente une transaction locale. | Obligatoire |
IDbTransactionExtension | Représente plus de propriétés de transaction qui peuvent être implémentées par les extensions de traitement des données SSRS. | Facultatif |
IDbCommand | Représente une requête ou commande utilisée pour une connexion à une source de données. | Obligatoire |
IDbCommandAnalysis | Représente plus d’informations de commande pour l’analyse d’une requête et le renvoi d’une liste de noms de paramètres utilisés dans la requête. | Facultatif |
IDataParameter | Représente un paramètre ou une paire nom/valeur passée à une commande ou requête. | Obligatoire |
IDataParameterCollection | Représente une collection de tous les paramètres pertinents à une commande ou requête. | Obligatoire |
IDataReader | Fournit une méthode de lecture d'un flux de lignes de données avant uniquement et en lecture seule à partir d'une source de données. | Obligatoire |
IDataReaderExtension | Fournit une méthode de lecture d'un ou plusieurs flux de données avant uniquement de jeux de résultats, obtenue par l'exécution d'une commande au niveau d'une source de données. Cette interface offre une meilleure prise en charge des agrégats de champs. | Facultatif |
IExtension | Fournit la classe de base pour une extension pour le traitement des données Reporting Services. Elle permet aussi à un implémenteur d'inclure un nom localisé pour l'extension et de passer des paramètres de configuration du fichier de configuration à l'extension. | Obligatoire |
Les interfaces d’extension pour le traitement des données sont identiques à un sous-ensemble des interfaces, des méthodes et des propriétés du fournisseur de données .NET Framework dans la mesure du possible. Pour plus d’informations sur l’implémentation d’un fournisseur de données .NET Framework complet, consultez la rubrique sur l’implémentation d’un fournisseur de données .NET Framework dans votre documentation du Kit de développement logiciel (SDK) .NET Framework.