Condividi tramite


Procedura: Recuperare una connessione utilizzando i dati di connessione esistenti

Per recuperare un'istanza dell'oggetto di DDEX IVsDataConnection per il quale è dati di connessione esistenti, il client deve recuperare i dati di connessione e passarlo al metodo appropriato. I dati di connessione sono costituiti da un provider di DDEX, specificata da un GUID e da una stringa di connessione. Esistono tre scenari in cui è possibile ottenere una connessione utilizzando i dati di connessione esistenti:

  • Recuperare una nuova o una connessione esistente tramite il servizio di IVsDataConnectionManager con i dati di connessione forniti dal client di DDEX.

  • Recuperare una nuova connessione con i dati di connessione esistenti tramite il servizio di IVsDataConnectionFactory .

  • Recuperare una connessione che esegue il wrapping di un oggetto provider non-DDEX esistente con i dati forniti da per utilizzare il servizio di IVsDataConnectionFactory .

Nei casi in cui una nuova connessione viene creata utilizzando gli input dell'utente, vedere Procedura: Recuperare una connessione basata sull'input utente.

Uno scenario

Lo scenario uno include recuperare un oggetto connessione esistente utilizzando IVsDataConnectionManager e i dati di connessione appropriati. Nei casi in cui alcuna connessione attualmente da gestire, la connection manager restituisce una nuova connessione. Se, invece, la connection manager stanno gestendo un oggetto connessione che equivale a quello specificato, restituisce l'oggetto connessione.

Per aprire una connessione esistente tramite il servizio di DataConnectionManager

  1. Chiamare il metodo GetConnection della classe IVsDataConnectionManager.

  2. Passare al provider di DDEX (Guid), nella stringa di connessione (String) e un valore booleano che indica se la stringa di connessione viene crittografata.

    Viene restituito un oggetto connessione specificato, se questa o una connessione equivalente attualmente da gestire. In alternativa, restituisce un nuovo oggetto connessione con i dati di connessione specificate.

scenario due

In lo scenario due, una nuova connessione sia viene creata che recuperata utilizzando IVsDataConnectionFactory, consentendo comunque il GUID appropriato del provider di DDEX, la stringa di connessione e il parametro booleano denominato nello scenario uno.

Per aprire una nuova connessione tramite il servizio di DataConnectionFactory

  1. Chiamare l'entity_M:Microsoft.VisualStudio.Data.Services.IVsDataConnectionFactory.CreateConnection(System.Guid, System.String, System.Boolean) sulla classe di IVsDataConnectionFactory .

  2. Passare al provider di DDEX (Guid), nella stringa di connessione (String) e un valore booleano che indica se la stringa di connessione viene crittografata.

    Viene restituito un oggetto connessione isolato disponibile solo al client che si crea.

scenario tre

In lo scenario tre, un client che utilizza un oggetto connessione non-DDEX desidera accedere alla funzionalità di DDEX dall'interno della connessione. Ad esempio, l'implementazione di DDEX dispone di una connessione SQL che utilizza un oggetto connessione standard di ADO.NET SQL, ma desidera utilizzare determinate funzionalità di DDEX. A tale scopo, è necessario creare una connessione di DDEX utilizza l'oggetto provider sottostante (ADO.NET, in questo caso) ed eseguirne il wrapping in una connessione di DDEX tramite il metodo di MakeConnectionFrom .

Per eseguire il wrapping di un oggetto provider esistente tramite il servizio di DataConnectionFactory

  1. creare l'oggetto provider non-DDEX sottostante.

  2. Chiamare il metodo MakeConnectionFrom della classe IVsDataConnectionFactory.

  3. Passare il GUID non-DDEX di istanza (Object) e il provider dell'oggetto provider.

    Verrà creato un oggetto connessione di DDEX che esegue il wrapping l'oggetto provider sottostante.

    Nota

    Chiamare il metodo di Dispose su questa connessione dati non elimina l'oggetto provider non-DDEX sottostante.

    Importante

    Il provider di DDEX selezionate per eseguire il wrapping dell'oggetto connessione sottostante deve essere in grado di individuare l'oggetto esegue il wrapping.ciò rende selezionando l'oggetto provider di DDEX importante.

Vedere anche

Attività

Procedura: Recuperare una connessione basata sull'input utente

Riferimenti

GetConnection

IVsDataConnectionManager

IVsDataConnectionFactory

CreateConnection

MakeDataConnectionFrom