Spécification d'un fournisseur

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation d'un ensemble de données client avec un fournisseur


Contrairement aux ensembles de données client associés à un mécanisme d'accès aux données, TClientDataSet n'a pas de composant fournisseur interne pour packager les données ou appliquer des mises à jour. Si vous voulez qu'il représente des données issues d'un ensemble de données source ou d'un document XML, vous devez associer l'ensemble client avec un composant fournisseur externe.

La façon dont vous associez TClientDataSet à un fournisseur dépend de l'endroit où se trouve le fournisseur : dans la même application que l'ensemble de données client ou sur un serveur d'applications distant exécuté sur un autre système.


Emplacement du fournisseur Comment associer TClientDataSet

Le fournisseur se trouve dans la même application que l'ensemble de données client.

Si le fournisseur se trouve dans la même application que l'ensemble de données client, vous pouvez associer l'ensemble de données à un fournisseur en choisissant celui-ci dans la liste déroulante de la propriété ProviderName dans l'inspecteur d'objets. Ce procédé fonctionne sous réserve que le fournisseur possède le même Owner que l'ensemble de données client. L'ensemble de données client et le fournisseur possèdent le même Owner s'ils sont placés dans la même fiche ou dans le même module de données. Pour utiliser un fournisseur local possédant un Owner différent, vous devez établir l'association à l'exécution à l'aide de la méthode SetProvider de l'ensemble de données client.

Si vous envisagez de passer à un fournisseur distant ou si vous voulez faire directement appel à l'interface IAppServer, vous pouvez définir la propriété ConnectionBroker par un composant Datasnap.Win.TConnect.TLocalConnection. Si vous utilisez TLocalConnection, l'instance TLocalConnection gère la liste des tous les fournisseurs locaux par rapport à votre application, et les appels IAppServer de l'ensemble de données client. Si vous n'utilisez pas TLocalConnection, l'application crée un objet caché pour gérer les appels IAppServer de l'ensemble de données client.

Le fournisseur réside sur un serveur d'applications distant

Si le fournisseur se trouve sur un serveur d'applications distant, outre la propriété ProviderName, vous devez spécifier un composant qui connecte l'ensemble de données client au serveur d'applications. Voici deux propriétés pouvant gérer cette tâche : RemoteServer, qui spécifie le nom d'un composant connexion à partir duquel obtenir une liste de fournisseurs, ou ConnectionBroker, qui spécifie un courtier ou agent centralisé fournissant un niveau d'indirection supplémentaire entre l'ensemble de données client et le composant connexion. Le composant connexion et le composant courtier, lorsqu'il est utilisé, se trouvent dans le même module de données que l'ensemble de données client. Le composant connexion établit et maintient la connexion au serveur d'applications, c'est pourquoi il est parfois appelé "le courtier ou l'agent des données". Pour plus d'informations, voir Structure de l'application client.

Après avoir spécifié en mode conception la propriété RemoteServer ou ConnectionBroker, vous pouvez sélectionner un fournisseur dans la liste déroulante de la propriété ProviderName dans l'inspecteur d'objets. Cette liste contient les fournisseurs locaux (appartenant à la même fiche ou au même module de données) et les fournisseurs distants accessibles par le biais du composant connexion.


Remarque :  Si le composant connexion est une instance de TDCOMConnection, le serveur d'applications doit être recensé sur la machine client.

A l'exécution, vous pouvez passer d'un fournisseur à l'autre (local ou distant) en modifiant la propriété ProviderName dans le code.

Voir aussi