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

enregistrer un fournisseur Registre-Basé de DDEX

Vous pouvez implémenter un fournisseur de DDEX non basé sur un package qui fournit la prise en charge de base au moment de le design via le Registre Windows pour identifier le fournisseur et pour localiser la base de code appropriée.

Contrairement à DDEX 1,0, dans la nouvelle version de DDEX le fournisseur Registre-basé n'est pas limité aux fournisseurs de ADO.NET et ne prend pas en charge tous les types de fournisseurs. Toutefois, l'implémentation de fournisseur de DDEX la plus courante implique un fournisseur de ADO.NET qui a uniquement besoin de la prise en charge au moment de le design fondamentale. Par exemple, votre application peut éventuellement fournir une certaine interface utilisateur personnalisée de connexion à une source (UI) de données, mais ne fait rien complexe, comme fournir les concepteurs personnalisés. Dans ce cas, créer une implémentation complète d'un VSPackage n'est pas nécessaire. En effet, vous pouvez fournir des références explicites à vos composants de fournisseur via le Registre Windows.

Pour enregistrer votre implémentation d'un fournisseur non basé sur un package, procédez comme suit :

GUID fournit un identificateur unique pour le fournisseur dans le contexte d'application.

Entrez votre fournisseur GUID dans la clé de DataProviders de la ruche locale du Registre de l'application. Cette entrée peut ressembler à ce qui suit :

HKLM \SOFTWARE\Microsoft\VisualStudio\9.0\DataProviders \ {} 11111111-1111-1111-1111-111111111111

ajoutez les valeurs appropriées de fournisseur de DDEX à la clé de Registre de DataProviders. la clé contient sept champs, comme suit :

(Valeur par défaut)

nom du fournisseur (pour le Registre).

AssociatedSource

GUID de la source de données que ce fournisseur de DDEX est associé.

CodeBase

Le chemin d'accès au fichier d'assembly fournisseur de DDEX. Par exemple, ce champ peut avoir pour valeur « C : \MyDDEXProvider\bin\Debug\ProviderWithUICustomization .dll. »

Description

Pointeur vers une ressource de type chaîne dans un assembly qui contient une description pour le fournisseur, sous format « StringName, ResourceName, assembly ». Si la valeur d'assembly n'est pas spécifiée, l'implémentation correspond par défaut à l'assembly spécifié avec la valeur de base de code.

DisplayName

Pointeur vers une ressource de type chaîne dans un assembly qui contient un nom complet pour le fournisseur, sous format « StringName, ResourceName, assembly ». Si la valeur d'assembly n'est pas spécifiée, l'implémentation correspond par défaut à l'assembly spécifié avec la valeur de base de code.

InvariantName

le nom invariant du fournisseur de ADO.NET .

PlatformVersion

la version du composant de DDEX utilisé. Utilisez « 2,0 " pour Visual Studio 2008 SDK, ou « 1,0 " pour Visual Studio 2005 SDK.

ShortDisplayName

Pointeur vers une ressource de type chaîne dans un assembly contenant un nom complet court pour le fournisseur, sous format « StringName, ResourceName, assembly ». Si la valeur d'assembly n'est pas spécifiée, l'implémentation correspond par défaut à l'assembly spécifié avec la valeur de base de code.

Technologie

GUID spécifiant la technologie de ADO.NET : {77AB9A9D-78B9-4ba7-91AC-873F5338F1D2}

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 est 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 :

  1. ajoutez une clé de SupportedObjects sous la clé de fournisseur de DDEX dans le Registre.

  2. ajoutez une clé de Registre pour chacun des objets pris en charge par le fournisseur de DDEX. Bien qu'aucun objet requis, il est recommandé d'ajouter les deux objets suivants pour que le fournisseur soient pertinentes :

    1. IVsDataConnectionProperties. implémenté à l'aide de la classe d' DbConnectionStringBuilder .

    2. IVsDataConnectionSupport. Implémenté à l'aide de l'interface d'IDbConnection et les fonctionnalités de la classe d' DbConnection , où disponible.

  3. ajoutez les clés supplémentaires 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 des clés supplémentaires que vous pouvez spécifier pour vos objets pris en charge supplémentaires :

    1. IVsDataConnectionPromptDialog

    2. IVsDataConnectionProperties

    3. IVsDataConnectionSupport

    4. IVsDataConnectionUIControl

    5. IVsDataObjectIdentifierConverter

    6. IVsDataObjectIdentifierResolver

    7. IVsDataObjectMemberComparer

    8. IVsDataObjectSupport

    9. IVsDataSourceInformation

    10. 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é de DataSourceInformation, vous pouvez insérer plusieurs paires nom/valeur. Elles peuvent fournir des informations sur la source de données statiques directement, sans devoir écrire du code pour implémenter la classe de DataSourceInformation.

Les fournisseurs de DDEX peuvent être associés à des sources de données de DDEX à l'aide de les entrées du Registre sous les sources de données présentent au clavier la ruche locale du Registre de l'application, par exemple, HKLM \SOFTWARE\Microsoft\VisualStudio\9.0\DataSources.

Chaque source de données de DDEX un GUID d'identification unique, avec le nom complet correspondant et les chaînes de description fournis par un fournisseur de prise en charge.

Pour une nouvelle source de données, vous devez effectuer les opérations suivantes :

  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.

Pour les sources de données et de nouvelles sources de données, vous devez effectuer les opérations suivantes :

  1. Sous les sources de données enfoncée, créez une clé de SupportingProviders et remplissez-la avec une sous-clé pour chaque fournisseur de DDEX qui prend en charge la source de données.

  2. Pour un ou plusieurs (minimum un) des sous-clés de fournisseur de DDEX, entrez une valeur DisplayName dans précisément le même format que vous avez écrit pour la valeur DisplayName sous la clé correspondante du fournisseur de DDEX.

  3. Pour chaque fournisseur de prise en charge, fournissez éventuellement une valeur de description dans le même format de la manière attendue que la valeur de description pour le fournisseur correspondant de DDEX. Cette chaîne de description doit associer la source de données sélectionnée et le fournisseur de données dans une instruction unique et explicite, par exemple, « utilisez cette option pour connecter à Microsoft Access une source de données à l'aide de le fournisseur natif throw via le fournisseur de données de .NET Framework pour OLE DB. »

Afficher: