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