Modèle de programmation RDS en détail
Voici les éléments clés du modèle de programmation RDS :
RDS.DataSpace
RDSServer.DataFactory
RDS.DataControl
Événement
Important
À compter de Windows 8 et Windows Server 2012, les composants serveur RDS ne sont plus inclus dans le système d’exploitation Windows (voir le Guide pratique sur la compatibilité de Windows Server 2012 et Windows 8 pour plus de détails). Les composants clients RDS seront supprimés dans une version ultérieure de Windows. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Les applications qui utilisent RDS doivent migrer vers WCF Data Service.
RDS.DataSpace
Votre application cliente doit spécifier le serveur et le programme serveur à appeler. En retour, votre application reçoit une référence au programme serveur et peut traiter la référence comme s’il s’agissait du programme serveur lui-même.
Le modèle objet RDS incarne cette fonctionnalité avec un objet RDS.DataSpace.
Le programme serveur est spécifié avec un identificateur de programme ou ProgID. Le serveur utilise progID et le registre de l’ordinateur serveur pour rechercher des informations sur le programme réel à lancer.
RDS fait une distinction en interne selon que le programme serveur se trouve sur un serveur distant sur Internet ou sur un intranet ; un serveur sur un réseau local ; ou pas sur un serveur du tout, mais plutôt sur une bibliothèque de liens dynamiques (DLL) locale. Cette distinction détermine la façon dont les informations sont échangées entre le client et le serveur, et fait une différence tangible dans le type de référence retourné à votre application cliente. Cependant, de votre point de vue, cette distinction n’a pas de signification particulière. Tout cela importe, c’est que vous recevez une référence de programme utilisable.
RDSServer.DataFactory
RDS fournit un programme serveur par défaut qui peut effectuer une requête SQL sur la source de données et retourner un objet Recordset ou prendre un objet Recordset et mettre à jour la source de données.
Le modèle objet RDS incarne cette fonctionnalité avec l’objet RDSServer.DataFactory.
De plus, cet objet a une méthode pour créer un objet Recordset vide que vous pouvez remplir par programmation (CreateRecordset) et une autre méthode pour convertir un objet Recordset en chaîne de texte pour générer une page Web (ConvertToString).
Avec ADO, vous pouvez remplacer une partie du comportement de connexion et de commande standard de RDSServer.DataFactory avec un gestionnaire DataFactory et un fichier de personnalisation qui contient des paramètres de connexion, de commande et de sécurité.
Le programme serveur est parfois appelé objet métier. Vous pouvez écrire votre propre objet métier personnalisé qui peut effectuer un accès compliqué aux données, des vérifications de validité, et ainsi de suite. Même lors de l’écriture d’un objet métier personnalisé, vous pouvez créer une instance d’un objet RDSServer.DataFactory et utiliser certaines de ses méthodes pour accomplir vos propres tâches.
RDS.DataControl
RDS fournit un moyen de combiner les fonctionnalités de RDS.DataSpace et RDSServer.DataFactory et permettent également aux contrôles visuels d’utiliser facilement l’objet Recordset retourné par une requête à partir d’une source de données. RDS tente, pour le cas le plus courant, d’accéder automatiquement aux informations sur un serveur et de l’afficher dans un contrôle visuel.
Le modèle objet RDS incarne cette fonctionnalité avec un objet RDS.DataControl.
RDS.DataControl a deux aspects. Un aspect concerne la source de données. Si vous définissez les informations de commande et de connexion à l’aide des propriétés Connect et SQL de RDS.DataControl, il utilisera automatiquement RDS.DataSpace pour créer une référence à l’objet RDSServer.DataFactory par défaut. Ensuite, RDSServer.DataFactory utilise la valeur de la propriété Connect pour se connecter à la source de données, utiliser la valeur de la propriété SQL pour obtenir un recordset à partir de la source de données et renvoyer l’objet Recordset au RDS.DataControl.
Le deuxième aspect concerne l’affichage des informations du Recordset retournées dans un contrôle visuel. Vous pouvez associer un contrôle visuel au RDS.DataControl (dans un processus appelé liaison) et accéder aux informations de l’objet Recordset associé, affichant les résultats de requête sur une page Web dans Microsoft Internet Explorer. Chaque objet RDS.DataControl lie un objet Recordset, représentant les résultats d’une requête unique, à un ou plusieurs contrôles visuels (par exemple, une zone de texte, une zone de liste modifiable, un contrôle grid, etc.). Il peut y avoir plusieurs objets RDS.DataControl sur chaque page. Chaque objet RDS.DataControl peut être connecté à une autre source de données et contenir les résultats d’une requête distincte.
L’objet RDS.DataControl possède également ses propres méthodes pour naviguer, trier et filtrer les lignes de l’objet Recordset associé. Ces méthodes sont similaires, mais pas identiques aux méthodes de l’objet ADO Recordset.
Événements
RDS prend en charge deux de ses propres événements, qui sont indépendants du modèle d’événements ADO. L’événement onReadyStateChange est appelé chaque fois que la propriété RDS.DataControl ReadyState change, vous informant ainsi qu’une opération asynchrone s’est terminée, terminée ou a rencontré une erreur. L’événement onError est appelé chaque fois qu’une erreur se produit, même si l’erreur se produit pendant une opération asynchrone.
Remarque
Microsoft Internet Explorer fournit deux événements supplémentaires à RDS : onDataSetChanged, qui indique que le Recordset est fonctionnel, mais qu’il récupère toujours des lignes, et onDataSetComplete, ce qui indique que l’objet Recordset a fini de récupérer des lignes.
Voir aussi
Modèle de programmation RDS avec des objets
DataControl, objet (RDS)
DataFactory, objet (RDSServer)
DataSpace, objet (RDS)
Scénario RDS
Didacticiel RDS
Utilisation et sécurité de RDS