Freigeben über


Microsoft OLE DB Remoting Provider Übersicht

Der Microsoft OLE DB Remoting-Anbieter ermöglicht einem lokalen Benutzer auf einem Clientcomputer das Aufrufen von Datenanbietern auf einem Remotecomputer. Geben Sie die Datenanbieterparameter für den Remotecomputer so an, als wären Sie ein lokaler Benutzer auf dem Remotecomputer. Geben Sie dann die Parameter an, die vom Remoting-Anbieter für den Zugriff auf den Remotecomputer verwendet werden. Sie können dann auf den Remotecomputer zugreifen, als ob Sie ein lokaler Benutzer waren.

Wichtig

Ab Windows 8 und Windows Server 2012 sind RDS-Serverkomponenten nicht mehr im Windows-Betriebssystem enthalten (weitere Details finden Sie unter Windows 8 und Windows Server 2012 Compatibility Cookbook). RDS-Clientkomponenten werden in einer zukünftigen Version von Windows entfernt. Vermeiden Sie die Verwendung dieses Features in neuer Entwicklungsarbeit, und planen Sie, Anwendungen zu ändern, die derzeit dieses Feature verwenden. Anwendungen, die RDS verwenden, sollten zu WCF Data Servicemigrieren.

Provider-Schlüsselwort

Um den OLE DB-Remotinganbieter aufzurufen, geben Sie das folgende Schlüsselwort und den folgenden Wert in der Verbindungszeichenfolge an. (Beachten Sie das Leerzeichen im Anbieternamen.)

"Provider=MS Remote"

Zusätzliche Schlüsselwörter

Wenn dieser Dienstanbieter aufgerufen wird, sind die folgenden zusätzlichen Schlüsselwörter relevant.

Schlüsselwort Beschreibung
Datenquelle Gibt den Namen der Remotedatenquelle an. Sie wird zur Verarbeitung an den OLE DB-Remotinganbieter übergeben.

Dieses Schlüsselwort entspricht der Eigenschaft Connect des Objekts RDS.DataControl.

Dynamische Eigenschaften

Wenn dieser Dienstanbieter aufgerufen wird, werden die folgenden dynamischen Eigenschaften der Connection-Objekt Properties -Auflistung hinzugefügt.

Name der dynamischen Eigenschaft Beschreibung
DFMode Gibt den DataFactory-Modus an. Eine Zeichenfolge, die die gewünschte Version des DataFactory--Objekts auf dem Server angibt. Legen Sie diese Eigenschaft fest, bevor Sie eine Verbindung öffnen, um eine bestimmte Version der DataFactory-anzufordern. Wenn die angeforderte Version nicht verfügbar ist, wird versucht, die vorherige Version zu verwenden. Wenn keine vorherige Version vorhanden ist, tritt ein Fehler auf. Wenn DFMode- kleiner als die verfügbare Version ist, tritt ein Fehler auf. Diese Eigenschaft ist schreibgeschützt, nachdem eine Verbindung hergestellt wurde.

Dies kann eine der folgenden gültigen Zeichenfolgenwerte sein:

- "25"-Version 2.5 (Standard)
- "21"-Version 2.1
- "20"-Version 2.0
- "15"-Version 1.5
Befehlseigenschaften Gibt Werte an, die der Zeichenfolge von Befehlseigenschaften (Rowset) hinzugefügt werden, die vom MS Remote-Anbieter an den Server gesendet werden. Der Standardwert für diese Zeichenfolge ist vt_empty.
Aktueller DFMode Gibt die tatsächliche Versionsnummer des DataFactory- auf dem Server an. Überprüfen Sie diese Eigenschaft, um festzustellen, ob die in der DFMode Eigenschaft angeforderte Version berücksichtigt wurde.

Dies kann eine der folgenden gültigen Werte für lange ganzzahlige Zahlen sein:

- 25-Version 2.5 (Standard)
- 21-Version 2.1
- 20-Version 2.0
- 15-Version 1.5

Das Hinzufügen von "DFMode=20;" zur Verbindungszeichenfolge bei Verwendung des MSRemote--Anbieters kann die Leistung Ihres Servers beim Aktualisieren von Daten verbessern. Bei dieser Einstellung verwendet das RDSServer.DataFactory-Objekt auf dem Server einen weniger ressourcenintensiven Modus. Die folgenden Features sind in dieser Konfiguration jedoch nicht verfügbar:

- Verwenden parametrisierter Abfragen.
– Abrufen von Parameter- oder Spalteninformationen vor dem Aufrufen der Execute-Methode.
- Setzen Sie Transact-Updates auf True.
– Abrufen des Zeilenstatus.
- Aufrufen der Resync--Methode.
– Aktualisieren (explizit oder automatisch) über die eigenschaft Update Resync.
- Festlegen der -Eigenschaften des- oder -Recordset-Objekts.
- Verwenden von adCmdTableDirect.
Handler- Gibt den Namen eines serverseitigen Anpassungsprogramms (oder Handlers) an, das die Funktionalität des RDSServer.DataFactoryerweitert, und alle vom Handler verwendeten Parameter, alle durch Kommas (",") getrennten Parameter. Ein String--Wert.
Internet-Zeitüberschreitung Gibt die maximale Anzahl von Millisekunden an, die man warten soll, bis eine Anforderung zum und vom Server gesendet wird. (Der Standardwert ist 5 Minuten.)
Remote-Anbieter Gibt den Namen des Datenanbieters an, der auf dem Remoteserver verwendet werden soll.
Remote-Server Gibt den Servernamen und das Kommunikationsprotokoll an, das von dieser Verbindung verwendet werden soll. Diese Eigenschaft entspricht dem RDS.DataControl-Objekt Server-Eigenschaft.
Transact-Updates Wenn dieser Wert auf Truefestgelegt ist, bedeutet das, dass UpdateBatch auf dem Server innerhalb einer Transaktion ausgeführt wird. Der Standardwert für diese boolesche dynamische Eigenschaft ist False.

Sie können auch schreibbare dynamische Eigenschaften festlegen, indem Sie deren Namen als Schlüsselwörter in der Verbindungszeichenfolge angeben. Legen Sie z. B. die Internet Timeout dynamische Eigenschaft auf fünf Sekunden fest, indem Sie Folgendes angeben:

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

Sie können auch eine dynamische Eigenschaft festlegen oder abrufen, indem Sie ihren Namen als Index für die eigenschaft Properties angeben. Das folgende Beispiel zeigt, wie Sie den aktuellen Wert der Internet Timeout dynamische Eigenschaft abrufen und drucken und dann einen neuen Wert festlegen:

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

Bemerkungen

In ADO 2.0 konnte der OLE DB-Remotinganbieter nur im ActiveConnection Parameter des Recordset-Objekts Open-Methode angegeben werden. Ab ADO 2.1 kann der Anbieter auch im ConnectionString- Parameter des Connection-Objekts Open-Methode angegeben werden.

Das Äquivalent des RDS.DataControl-Objekts SQL--Eigenschaft ist nicht verfügbar. Stattdessen wird das Recordset-Objekt mit der Open-Methode und dem Source-Argument verwendet.

Hinweis Das Angeben von "...;Remoteanbieter=MS Remote;..." würde ein Szenario auf vier Ebenen schaffen. Szenarien, die über drei Ebenen hinausgehen, wurden nicht getestet und sollten nicht benötigt werden.

Beispiel

In diesem Beispiel wird eine Abfrage in der Tabelle Authors der Pubs Datenbank auf einem Server mit dem Namen YourServerausgeführt. Die Namen der Remotedatenquelle und des Remoteservers werden in der Open-Methode des Connection-Objekts angegeben, und die SQL-Abfrage wird in der Open-Methode des Recordset--Objekts angegeben. Ein Recordset--Objekt wird zurückgegeben, bearbeitet und verwendet, um die Datenquelle zu aktualisieren.

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

Siehe auch

Übersicht über den OLE DB Remoting Provider