Panoramica del provider di comunicazione remota Microsoft OLE DB

Il Provider di comunicazione remota Microsoft OLE DB consente a un utente locale in un computer client di richiamare provider di dati in un computer remoto. Specificare i parametri del provider di dati per il computer remoto come se si fosse un utente locale nel computer remoto. Specificare quindi i parametri usati dal provider di comunicazione remota per accedere al computer remoto. È quindi possibile accedere al computer remoto come se si fosse un utente locale.

Importante

A partire da Windows 8 e Windows Server 2012, i componenti del server di RDS non sono più inclusi nel sistema operativo Windows. Per maggiori dettagli, vedere la Guida di riferimento per la compatibilità di Windows 8 e Windows Server 2012. I componenti del client di RDS verranno rimossi in una versione futura di Windows. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Le applicazioni che usano RDS devono eseguire la migrazione a WCF Data Service.

Parola chiave Provider

Per richiamare il Provider di comunicazione remota OLE DB, specificare la parola chiave e il valore seguenti nella stringa di connessione. Si noti lo spazio vuoto nel nome del provider.

"Provider=MS Remote"

Parole chiave aggiuntive

Quando si richiama questo provider di servizi, sono rilevanti le parole chiave aggiuntive seguenti.

Parola chiave Descrizione
Origine dati Specifica il nome dell'origine dati remota. Viene passata al Provider di comunicazione remota OLE DB per l'elaborazione.

Questa parola chiave equivale alla proprietà Connect dell'oggetto RDS.DataControl.

Proprietà dinamiche

Quando viene richiamato questo provider di servizi, le proprietà dinamiche seguenti vengono aggiunte alla raccolta Proprietà dell'oggetto connessione.

Nome proprietà dinamica Descrizione
DFMode Indica la modalità DataFactory. Stringa che specifica la versione desiderata dell'oggetto DataFactory nel server. Impostare questa proprietà prima di aprire una connessione per richiedere una determinata versione di DataFactory. Se la versione richiesta non è disponibile, verrà effettuato un tentativo di usare la versione precedente. Se non è presente alcuna versione precedente, si verificherà un errore. Se DFMode è minore della versione disponibile, si verificherà un errore. Questa proprietà è di sola lettura dopo che è stata stabilita una connessione.

Può essere uno dei valori stringa validi seguenti:

- "25"-Versione 2.5 (predefinita)
- "21"-Versione 2.1
- "20"-Versione 2.0
- "15"-Versione 1.5
Proprietà comando Indica i valori che verranno aggiunti alla stringa del comando (set di righe) inviato al server dal provider MS Remote. Il valore predefinito per questa stringa è vt_empty.
DFMode corrente Indica il numero di versione effettivo di DataFactory nel server. Controllare questa proprietà per verificare se la versione richiesta nella proprietà DFMode è stata rispettata.

Può essere uno dei valori long integer validi seguenti:

- 25-Versione 2.5 (predefinita)
- 21-Versione 2.1
- 20-Versione 2.0
- 15-Versione 1.5

L'aggiunta di "DFMode=20;" alla stringa di connessione quando si usa il provider MSRemote può migliorare le prestazioni del server durante l'aggiornamento dei dati. Con questa impostazione, l'oggetto RDSServer.DataFactory nel server usa una modalità con un utilizzo meno intensivo delle risorse. Tuttavia, le funzionalità seguenti non sono disponibili in questa configurazione:

- Utilizzo di query con parametri.
- Recupero di informazioni sui parametri o sulle colonne prima di chiamare il metodo Execute.
- Impostazione di Transact Updates su True.
- Recupero dello stato della riga.
- Chiamata al metodo Resync.
- Aggiornamento (in modo esplicito o automatico) tramite la proprietà Update Resync.
- Impostazione delle proprietà Command o Recordset.
- Utilizzo di adCmdTableDirect.
Gestore Indica il nome di un programma di personalizzazione lato server (o gestore) che estende la funzionalità di RDSServer.DataFactory ed eventuali parametri usati dal gestore, tutti separati da virgole (","). Valore String.
Timeout Internet Indica il numero massimo di millisecondi di attesa per una richiesta di spostamento da e verso il server. Il valore predefinito è 5 minuti.
Provider remoto Indica il nome del provider di dati da usare nel server remoto.
Server remoto Indica il nome del server e il protocollo di comunicazione da usare con questa connessione. Questa proprietà equivale alla proprietà Server dell'oggettoRDS.DataControl.
Aggiornamenti Transact Se impostato su True, questo valore indica che quando UpdateBatch viene eseguito nel server, verrà eseguito all'interno di una transazione. Il valore predefinito per questa proprietà dinamica booleana è False.

È anche possibile impostare proprietà dinamiche scrivibili specificandone i nomi come parole chiave nella stringa di connessione. Ad esempio, impostare la proprietà dinamica Internet Timeout su 5 secondi specificando:

Dim cn as New ADODB.Connection
cn.Open "Provider=MS Remote;Internet Timeout=5000"

È anche possibile impostare o recuperare una proprietà dinamica specificandone il nome come indice nella proprietà Properties. L'esempio seguente illustra come ottenere e stampare il valore corrente della proprietà dinamica Internet Timeout e quindi impostare un nuovo valore:

Debug.Print cn.Properties("Internet Timeout")
cn.Properties("Internet Timeout") = 5000

Osservazioni:

In ADO 2.0 il Provider di comunicazione remota OLE DB può essere specificato solo nel parametro ActiveConnection del metodo Open dell'oggetto Recordset. A partire da ADO 2.1, è anche possibile specificare il provider nel parametro ConnectionString del metodo Open dell'oggetto Connection.

L'equivalente della proprietà SQL dell'oggetto RDS.DataControl non è disponibile. Viene invece usato l'argomento Source del metodo Open dell'oggetto Recordset.

Nota Specificando "...; Remote Provider=MS Remote;..." si creerebbe uno scenario a quattro livelli. Scenari oltre tre livelli non sono stati testati e non dovrebbero essere necessari.

Esempio

In questo esempio viene eseguita una query sulla tabella Authors del database Pubs in un server denominato YourServer. I nomi dell'origine dati remota e del server remoto vengono forniti nel metodo Open dell'oggetto connessione e la query SQL viene specificata nel metodo Open dell'oggetto set di record. Viene restituito, modificato e utilizzato un oggetto Recordset per aggiornare l'origine dati.

Dim rs as New ADODB.Recordset
Dim cn as New ADODB.Connection
cn.Open  "Provider=MS Remote;Data Source=pubs;" & _
         "Remote Server=https://YourServer"
rs.Open "SELECT * FROM authors", cn
...                'Edit the recordset
rs.UpdateBatch     'Equivalent of RDS SubmitChanges
...

Vedi anche

Panoramica del provider di comunicazione remota OLE DB