Condividi tramite


Registrare un provider in base al Registro di sistema di DDEX

È possibile implementare un provider di DDEX non basato su un pacchetto e che fornisce supporto in fase di progettazione di base utilizzando il registro di sistema di Windows per identificare il provider e individuare la codebase appropriata.

In lo scenario in base al Registro di sistema

A differenza di DDEX 1,0, la nuova versione di DDEX il provider in base al Registro di sistema non è limitato ai provider di ADO.NET e non supporta tutti i tipi di provider. Tuttavia, l'implementazione del provider di DDEX più comune include un provider di ADO.NET che richiede solo il supporto in fase di progettazione fondamentale. Ad esempio, l'applicazione può essere necessario fornire una determinata interfaccia utente personalizzata per la connessione a un'origine dati (UI), ma esegue alcuna operazione di complesso, ad esempio fornire alle finestre di progettazione personalizzata. In tal caso, creare un'implementazione completa di un package VS non è necessario. Piuttosto, è possibile fornire riferimenti espliciti ai componenti del provider tramite il registro di sistema di Windows.

registrare il provider

Per registrare l'implementazione di un provider non basato su un pacchetto, effettuare le operazioni seguenti:

1.Genera un GUID del provider di DDEX

Un GUID fornisce un identificatore univoco per il provider nel contesto dell'applicazione.

2.Aggiungere il GUID della chiave del Registro di sistema

Immettere il provider GUID nella chiave di DataProviders dell'hive del Registro di sistema locale dell'applicazione. Questa voce potrebbe essere simile al seguente:

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

3.Aggiungere valori alla chiave

Aggiungere i valori appropriati del provider di DDEX della chiave del Registro di sistema di DataProviders. la chiave contiene sette campi, come segue:

(Valore predefinito)

Nome del provider (per gli scopi del Registro di sistema).

AssociatedSource

Il GUID dell'origine dati che questo provider di DDEX è associato.

CodeBase

Il percorso del file di assembly del provider di DDEX. Ad esempio, questo campo può essere impostato su “C#: \MyDDEXProvider\bin\Debug\ProviderWithUICustomization dll„.

Descrizione

Puntatore a una risorsa di tipo stringa in un assembly contenente una descrizione per il provider, nel formato “StringName, ResourceName, assembly„. Se il valore dell'assembly non è specificato, le impostazioni predefinite di implementazione assembly sono specificati per il valore di codebase.

DisplayName

Puntatore a una risorsa di tipo stringa in un assembly che contiene il nome visualizzato del provider, nel formato “StringName, ResourceName, assembly„. Se il valore dell'assembly non è specificato, le impostazioni predefinite di implementazione assembly sono specificati per il valore di codebase.

InvariantName

Il nome di questo tipo di provider di ADO.NET .

PlatformVersion

La versione del componente di DDEX utilizzata. Utilizzare “2,0 " per Visual Studio 2008 SDK, o “1,0 " per Visual Studio 2005 SDK.

ShortDisplayName

Puntatore a una risorsa di tipo stringa in un assembly che contiene un breve nome visualizzato del provider, nel formato “StringName, ResourceName, assembly„. Se il valore dell'assembly non è specificato, le impostazioni predefinite di implementazione assembly sono specificati per il valore di codebase.

Tecnologia

Il GUID che specifica tecnologia di ADO.NET : {77AB9A9D-78B9-4ba7-91AC-873F5338F1D2}

4.specificare gli oggetti supportati

I provider di DDEX devono includere anche nel Registro di sistema un'indicazione degli oggetti supportano. Devono eseguire questa operazione per due motivi:

  • Il motore di DDEX nonché i client, devono essere in grado di determinare le funzionalità di un provider specificato senza la necessità di caricare l'assembly del provider.

  • In alcuni casi, è necessario che il provider fornisca informazioni su come creare un'istanza o distribuire uno o più oggetti supportati.

Per indicare gli oggetti supportati, un provider deve effettuare le operazioni seguenti:

  1. Aggiungere una chiave di SupportedObjects nel provider di DDEX nel Registro di sistema.

  2. Aggiungere una chiave del Registro di sistema per ognuno degli oggetti supportati dal provider di DDEX. Sebbene non siano presenti oggetti necessari, si consiglia di aggiungere i due oggetti affinché il provider essere significativo:

    1. IVsDataConnectionProperties. Implementata mediante la classe di DbConnectionStringBuilder .

    2. IVsDataConnectionSupport. Implementato utilizzando l'interfaccia di IDbConnection e le funzionalità di DbConnection classe, dove disponibile.

  3. Aggiungere chiavi aggiuntive per gli oggetti supportati aggiuntivi. Per ognuno di questi, immettere il nome di un tipo gestito che fornisce l'implementazione come valore predefinito della chiave. Questo nome automaticamente con l'ambito nell'assembly specificato dal valore di base, ma può anche essere un nome di tipo completo e includendo i dettagli dell'assembly. Seguente chiave aggiuntive che è possibile specificare per gli oggetti supportati aggiuntivi:

    1. IVsDataConnectionPromptDialog

    2. IVsDataConnectionProperties

    3. IVsDataConnectionSupport

    4. IVsDataConnectionUIControl

    5. IVsDataObjectIdentifierConverter

    6. IVsDataObjectIdentifierResolver

    7. IVsDataObjectMemberComparer

    8. IVsDataObjectSupport

    9. IVsDataSourceInformation

    10. IVsDataViewSupport

Si noti che le chiavi di IVsDataViewSupport e di IVsDataObjectSupport forniscono la posizione dei rispettivi file XML. (Vedere Supporto di dati di DDEX e supporto di visualizzazione dati di DDEX la pagina per ulteriori informazioni.) Questi è possibile specificare direttamente, come un percorso a un percorso del file su disco, o puntatore a una risorsa in un assembly specificato. In questo modo si evita la necessità necessario implementare queste classi manualmente per fornire un flusso XML.

Notare, inoltre, che per la chiave di DataSourceInformation, è possibile inserire diverse coppie nome/valore. Questi possono fornire direttamente informazioni sull'origine dati statici, senza la necessità di fornire codice per implementare la classe di DataSourceInformation.

5.Mapping a un'origine dati

I provider di DDEX possono essere associati a origini dati di DDEX utilizzando le voci del Registro di sistema sotto di oggetti datasource digitare gli hive del Registro di sistema locale dell'applicazione, ad esempio, HKLM \SOFTWARE\Microsoft\VisualStudio\9.0\DataSources.

Ogni origine dati di DDEX ha un GUID di identificazione, con il nome visualizzato corrispondente e stringhe descrittive forniti da un provider di supporto.

Per una nuova origine dati, è necessario effettuare quanto segue:

  1. Creare un identificatore di GUID per l'origine dati e posizionarlo nel Registro di sistema sotto di oggetti datasource.

  2. Aggiungere un valore di DefaultProvider a questa chiave, il cui valore è il GUID del provider di impostazione predefinita DDEX per l'origine dati.

Per le origini dati esistenti e nuove origini dati, è necessario effettuare quanto segue:

  1. Sotto di oggetti datasource impostare, creare una chiave di SupportingProviders e popolarla con una sottochiave per ciascun provider di DDEX che supporta l'origine dati.

  2. Per uno o più (minimo uno) delle sottochiavi del provider di DDEX, fornire un valore DisplayName con precisione lo stesso formato quale è stato fornito per il valore DisplayName nella chiave corrispondente del provider di DDEX.

  3. Per ciascun provider di supporto, fornire un valore di descrizione nello stesso formato secondo quanto indicato del valore di descrizione per il provider corrispondente di DDEX. Questa stringa descrittiva essere combinati l'origine dati selezionata e il provider di dati in un singolo, istruzione significativo, ad esempio, “utilizza questa opzione per connettersi a un'origine dati Microsoft Access un database di origine utilizzando il provider nativo di jet tramite il provider di dati di .NET Framework per OLE DB.„

Vedere anche

Concetti

Registrare un provider Basato su pacchetto di DDEX

Registrazione di un provider di DDEX specializzato per OLE DB

Registrazione di un provider di DDEX specializzato per ODBC

Altre risorse

Implementazione del provider di DDEX