Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais
Nous recommandons d’utiliser Visual Studio 2017

Enregistrement d'un fournisseur de DDEX spécialisé pour OLE DB

Il est possible de modifier légèrement un fournisseur de données OLE DB existant au moment de le design à l'aide de code ou XML de telle sorte que son comportement soit appropriée, ou spécialisé, pour votre implémentation de DDEX. Dans ce scénario, le Registre Windows fournit le moyen par lesquels les fichiers de spécialisation se trouvent.

Pour enregistrer votre OLE Bibliothèque de base de données-a basé sur l'implémentation de fournisseur, procédez comme suit :

Ajoutez une clé de Registre de spécialisation indiquant que le fournisseur OLE DB est un spécialisé pour votre implémentation de DDEX. cette nouvelle clé doit apparaître sous la clé de spécialisation sous le fournisseur de DDEX pour OLE DB. La clé doit être l'identificateur programmatique complet et avec version du fournisseur OLE DB. Voici un exemple :

HKLM \SOFTWARE\Microsoft\VisualStudio\9.0\DataProviders\{7F041D59-D76A-44ed-9AA2-FBF6B0548B80}\Specialization\SQLOLEDB .1

Si la spécialisation du fournisseur OLE DB requiert le code, vous devez également spécifier une valeur de code base de cette clé identifiant le chemin d'accès complet à l'assembly qui implémente le code.

l'implémentation de base du fournisseur de DDEX pour OLE DB fournit une implémentation par défaut pour chaque objet pris en charge. Il permet également de substituer sélectif de comportement, et dans de nombreux cas il permet la substitution des objets de stockage. En annonçant ses fonctions, les tentatives de ce fournisseur de DDEX de localiser et instancier des objets spécialisés stockées pour un fournisseur OLE DB spécifique.

Sous la clé pour progid du fournisseur OLE DB, fournissez le nom des objets pris en charge avec des détails d'implémentation. Voici un ensemble d'objets possibles de support :

  • IVsDataConnectionPromptDialog

  • IVsDataConnectionProperties

  • IVsDataConnectionUIControl

  • IVsDataObjectSupport

  • IVsDataSourceInformation

  • IVsDataViewSupport

Les fournisseurs de DDEX doivent également inclure dans le Registre une indication dont les objets ils prennent en charge. Elles doivent procéder ainsi pour deux raisons :

  • Le moteur de DDEX, ainsi que les clients, doivent être en mesure de déterminer les fonctions d'un fournisseur donné sans devoir charger l'assembly du fournisseur.

  • Dans certains cas, il peut être que le fournisseur fournisse des informations sur l'instanciation ou implémenter un ou plusieurs des objets pris en charge.

Pour indiquer les objets pris en charge, un fournisseur doit effectuer les opérations suivantes :

Ajoutez des clés pour les objets pris en charge supplémentaires. Pour chacune de ces derniers, fournissez le nom d'un type managé qui fournit l'implémentation par défaut de la clé. Ce nom est définie automatiquement dans l'assembly spécifié par la valeur de code base, mais il peut également être un nom de type qualifié complet incluant des détails d'assembly. Voici les clés supplémentaires que vous pouvez spécifier pour vos objets pris en charge supplémentaires :

  • IVsDataConnectionPromptDialog

  • IVsDataConnectionProperties

  • IVsDataConnectionUIControl

  • IVsDataObjectSupport

  • IVsDataSourceInformation

  • IVsDataViewSupport

notez que les clés d'IVsDataObjectSupport et d'IVsDataViewSupport fournissent l'emplacement des fichiers XML respectifs. (Voir prise en charge d'objet de données de DDEX et le prise en charge de vue de données de DDEX pour plus d'informations.) Ceux-ci peuvent être spécifiés directement, comme chemin d'accès à un emplacement de fichier sur le disque, ou en tant que pointeur vers une ressource dans un assembly spécifié. Cela élimine doit implémenter ces classes pour indiquer manuellement un flux XML.

Notez, et, qui pour la clé d'IVsDataSourceInformation, vous pouvez insérer plusieurs paires nom/valeur. Ceux-ci peuvent fournir des informations sur la source de données statiques directement, sans devoir fournir le code pour implémenter l'interface d'IVsDataSourceInformation.

Le fournisseur de DDEX pour OLE DB prend en charge un 1:1 mappage entre une source de données de DDEX et un fournisseur OLE DB correspondant. C'est généralement le cas où un fournisseur OLE DB est écrit pour une source de données spécifique.

Pour mapper une source de données à un fournisseur OLE DB, procédez comme suit :

  1. S'il n'existe pas, créez la source de données de DDEX en procédant comme suit :

    1. Créez un identificateur GUID pour la source de données et placez -le dans le Registre sous des sources de données.

    2. Ajoutez une valeur de DefaultProvider à cette clé, dont la valeur est un GUID du fournisseur de la valeur par défaut DDEX pour la source de données.

  2. Fournissez une clé de spécialisation de valeur à la racine du fournisseur OLE DB (celui nommé avec la valeur d'identificateur programmatique). Cela annonce la disponibilité de la spécialisation du fournisseur OLE DB pour la source de données spécifiée.

  3. Fournissez une clé de source de données dont la valeur est un GUID de la source de données de DDEX.

  4. Mappez la source de données de DDEX au fournisseur OLE DB en définissant la valeur de Registre de SpecializedProvider (sous la clé d'alignement pour la source de données de DDEX), dont la valeur est le progid du fournisseur OLE DB correspondant.

Afficher: