Partager via


Fournisseur d’accès à distance Microsoft OLE DB (fournisseur de services ADO)

S’applique à : Access 2013, Office 2013

Le fournisseur Microsoft OLE DB d'accès à distance permet à l'utilisateur local d'un ordinateur client d'appeler des fournisseurs de données sur un ordinateur distant. Spécifiez les paramètres du fournisseur de données pour l'ordinateur distant comme vous le feriez si vous étiez un utilisateur local de cet ordinateur. Spécifiez ensuite les paramètres utilisés par le fournisseur d'accès à distance pour accéder à l'ordinateur distant. Vous accéderez ainsi à l’ordinateur distant comme si vous étiez un utilisateur local.

Mot clé du fournisseur

Pour appeler le fournisseur Microsoft OLE DB d'accès à distance, spécifiez le mot clé et la valeur suivants dans la chaîne de connexion. (Vous remarquerez que le nom du fournisseur contient un espace.)

 
"Provider=MS Remote" 

Mots clé supplémentaires

Lorsque ce fournisseur de services est appelé, les mots clés supplémentaires suivants sont pertinents.

Mot clé

Description

Data Source

Spécifie le nom de la source de données distante. Il est transmis au fournisseur OLE DB d'accès à distance pour le traitement. Ce mot clé est équivalent à la propriété Connect de l’objet RDS.DataControl.

Propriétés dynamiques

Lorsque ce fournisseur de services est appelé, les propriétés dynamiques suivantes sont ajoutées à la collection Properties de l'objet Connection.

Nom de la propriété dynamique

Description

DFMode

Indique le mode DataFactory. Chaîne qui spécifie la version souhaitée de l’objet DataFactory sur le serveur. Définissez cette propriété avant d’ouvrir une connexion pour demander une version particulière du DataFactory. Si la version souhaitée n’est pas disponible, une tentative d’utilisation d’une version précédente est effectuée. S’il n’existe pas de version précédente, une erreur est générée. Si la valeur de DFMode est inférieure à la version disponible, une erreur est générée. Cette propriété passe en lecture seule une fois la connexion établie. Les valeurs valides sont les valeurs de chaîne suivantes :

  • "25" — Version 2.5 (valeur par défaut)

  • "21" — Version 2.1

  • "20" — Version 2.0

  • "15" — Version 1.5

Command Properties

Indique les valeurs qui seront ajoutées à la chaîne de propriétés de commande (ensemble de lignes) envoyées au serveur par le fournisseur MS d'accès à distance. La valeur par défaut pour cette chaîne est vt_empty.

Current DFMode

Indique le numéro de version réel du DataFactory sur le serveur. Consultez cette propriété pour vérifier si la version demandée dans la propriété DFMode a été respectée. Les valeurs valides sont les entiers longs suivants :

  • 25 — Version 2.5 (valeur par défaut)

  • 21 — Version 2.1

  • 20 — Version 2.0

  • 15 — Version 1.5

En ajoutant « DFMode=20; » dans votre chaîne de connexion lorsque vous utilisez le fournisseur MSRemote, vous pouvez améliorer les performances de votre serveur pour la mise à jour des données. Grâce à ce paramètre, l'objet RDSServer.DataFactory du serveur utilise un mode plus économe en matière de ressources. Toutefois, les fonctions suivantes ne sont pas disponibles dans cette configuration :

  • utilisation de requêtes paramétrées ;

  • obtention d'informations de paramètres et de colonnes avant l'appel de la méthode Execute;

  • affectation de la valeur True à Transact Updates;

  • obtention de l'état des lignes ;

  • appel de la méthode Resync ;

  • actualisation (explicite ou automatique) via la propriété Update Resync ;

  • définition des propriétés Command ou Recordset ;

  • Utilisation d'adCmdTableDirect.

Handler

Indique le nom d’un programme (ou gestionnaire) de personnalisation serveur qui étend la fonctionnalité de RDSServer.DataFactory , ainsi que tous les paramètres utilisés par le gestionnaire, séparés par des virgules (« , »). Valeur String.

Internet Timeout

Indique le délai d'attente maximum en millisecondes pour qu'une requête effectue un aller-retour au serveur. (La valeur par défaut est de 5 minutes).

Remote Provider

Indique le nom du fournisseur de données à utiliser sur le serveur distant.

Remote Server

Indique le nom du serveur et le protocole de communication à utiliser pour cette connexion. Cette propriété équivaut à la propriété Server de l’objet RDS.DataControl.

Transact Updates

Le fait de définir cette valeur sur True indique que lorsque la méthode UpdateBatch est exécutée sur le serveur, cette opération s’effectue dans une transaction. La valeur par défaut de cette propriété dynamique booléenne est False.

Vous pouvez aussi définir des propriétés dynamiques en écriture en spécifiant leurs noms en tant que mots clé dans la chaîne de connexion. Par exemple définissez la propriété dynamique Internet Timeout sur cinq secondes en spécifiant :

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

Vous pouvez également définir ou extraire une propriété dynamique en spécifiant son nom en tant qu'index de la propriété Properties. Par exemple, vous pouvez obtenir et imprimer la valeur actuelle de la propriété dynamique Internet Timeout, puis définir une nouvelle valeur de la façon suivante :

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

Remarques

Dans ADO 2.0, le fournisseur OLE DB d’accès à distance ne pouvait être spécifié que dans le paramètre ActiveConnection de la méthode Open de l’objet Recordset. À partir d’ADO 2.1, le fournisseur peut également être spécifié dans le paramètre ConnectionString de la méthode Open de l’objet Connection.

L’équivalent de la propriété SQL de l’objet RDS.DataControl n’est pas disponible. On utilise à la place l’argument Source de la méthode Open de l’objet Recordset.

Le fait de spécifier « ...;Remote Provider=MS Remote;... » génère un scénario à quatre niveaux. Les scénarios de plus de trois niveaux n'ont pas été testés et ne sont en principe pas nécessaires.

Exemple

Cet exemple adresse une requête à la table authors de la base de données pubs sur un serveur appelé YourServer. Les noms de la source de données et du serveur distants sont fournis dans la méthode Open de l’objet Connection ; la requête SQL est spécifiée dans la méthode Open de l’objet Recordset. Un objet Recordset est renvoyé, modifié et utilisé pour mettre à jour la source de données.

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