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 Package-Basé de DDEX

La méthode la plus courante d'implémenter un fournisseur de DDEX utilise un VSPackage, qui fournit la prise en charge au moment de le design la plus fiable et la plus flexible. Cette implémentation, le fournisseur de DDEX crée des objets et des types et des assemblys de solutions à l'aide de les services de Visual Studio que le fournisseur de DDEX identifie dans le Registre Windows.

Pour enregistrer votre implémentation package-basée de fournisseur, 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)

Le nom du fournisseur pour les besoins de l'identifier dans le Registre, par exemple, « fournisseur de données SQL Server » cette valeur n'est pas interprétée, en supposant qu'un nom complet est localisé.

AssociatedSource

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

Description

Pointeur d'ID de ressource à une chaîne dans un assembly représentant 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 d'ID de ressource à une chaîne dans un assembly représentant 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. Cette valeur peut être un ID de ressource dans la DLL du satellite du fournisseur.

FactoryService

GUID spécifiant l'ID de service de Visual Studio (SID) exposé par VSPackage du fournisseur de DDEX qui implémente l'interface d' IVsDataProviderObjectFactory. Cela doit être enregistré en tant que service standard de Visual Studio , donc le même SID doit être spécifié sous la clé de Registre de services.

InvariantName

le nom invariant d'un fournisseur de ADO.NET . Spécifiez cette valeur uniquement si la technologie sous-jacente est ADO.NET, et une partie des fonctionnalités est basé sur l'implémentation de base fournie par l'espace de noms d' Microsoft.VisualStudio.Data.Framework.AdoDotNet . Ces implémentations de base reposent sur la possibilité de découvrir le nom invariant pour le fournisseur de ADO.NET afin de créer des objets à l'aide de la classe d' DbProviderFactory .

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 d'ID de ressource à une chaîne dans un assembly représentant 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 sous-jacente pour ce fournisseur échéant.

les fournisseurs de DDEX doivent spécifier dans le Registre que les objets ils prennent en charge. Ils 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.

La clé d' SupportedObjects contient un ensemble de clés d'ID enfant qui indiquent les entités de prise en charge DDEX sont prises en charge, par le service de fabrique spécifié comme valeur de FactoryService dans la clé de DataProviders, ou en tant que service sur la classe de DataConnection. Essentiellement cela inclut tous les objets qui sont être créées directement à l'aide de la méthode d' CreateObject et tous les objets qui peuvent être fournis comme services sur l'implémentation de serviceprovider d' DataConnectionSupport .

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

  2. Sous la clé de SupportedObjects, ajoutez des clés pour les objets créés par votre fournisseur prend en charge. Voici des exemples d'objets que vous pouvez prendre en charge :

    1. IVsDataConnectionPromptDialog

    2. IVsDataConnectionProperties

    3. IVsDataConnectionSupport

    4. IVsDataConnectionUIControl

    5. IVsDataObjectIdentifierConverter

    6. IVsDataObjectIdentifierResolver

    7. IVsDataObjectMemberComparer

    8. IVsDataObjectSupport

    9. IVsDataSourceInformation

    10. IVsDataViewSupport

En général, aucune information sous les clés n'est interprétée (bien que pour OLE DB et ODBC il existe une interprétation), mais il est utile de définir la valeur par défaut de la clé au nom de l'interface.

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.

  3. 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.

  4. 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.

  5. 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 combine 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. »

L'exemple suivant fournit des entrées du Registre pour un fournisseur de données d'IBM DB2 stocké à l'intérieur de l'ID de Visual Studio Applications (en supposant que %REGROOTBEGIN% égal au \Microsoft\VisualStudio SOFTWARE \ 9,0) :

HKLM
{
   %REGROOTBEGIN%
 
   'DataProviders'
   {
      '{6085DDE2-2EE1-4768-82C3-5425D9B98DAD}' = s 'IBM DB2 Provider'
      {
         val 'DisplayName' = s 'Provider_DisplayName, IBM.DB2.Resources'
         val 'ShortDisplayName' = s 'Provider_ShortDisplayName, IBM.DB2.Resources'
         val 'Description' = s 'Provider_Description, IBM.DB2.Resources'
         val 'FactoryService'= s'{45E1413D-896C-4a2a-A75C-1CBCA51C80CB}'
         val 'Technology' = s '{6565551F-A496-45f3-AFFB-D1AECA082824}'
         val 'InvariantName' = s 'IBM.DB2'
         val 'PlatformVersion' = s '2.0'
 
         'SupportedObjects'
         {
            'IVsDataViewSupport'
            'IVsDataObjectSupport'
            'IVsDataConnectionUIControl'
            'IVsDataConnectionProperties'
            'IVsDataConnectionSupport'
         }
      }
   }
 
   'Services'
   {
      '{45E1413D-896C-4a2a-A75C-1CBCA51C80CB}' = s '{7B7F1923-D8F9-430f-9FA7-7919677E5EAC}'
      {
         val 'Name' = 'IBM DB2 Provider Object Factory'
      }
   }
 
   'Packages'
   {
      '{7B7F1923-D8F9-430f-9FA7-7919677E5EAC}' = 'DB2 Package'
      {
         val 'InProcServer32' = s 'mscoree.dll'
         val 'Class' = s 'IBM.DB2.DB2Package'
         val 'Codebase' = s '%MODULE%'
 
         'SatelliteDll'
         {
             val 'Path' = s '%PATH%'
             val 'DllName' = s 'IBM.DB2UI.DLL'
         }
   }
 
   %REGROOTEND%
}
Afficher: