Absolute und relative URLs

Eine URL gibt den Speicherort eines Ziels an, das auf einem lokalen Computer oder Netzwerkcomputer gespeichert ist. Das Ziel kann eine Datei, ein Verzeichnis, eine HTML-Seite, ein Bild, ein Programm usw. sein.

Eine absolute URL enthält alle Informationen, die zum Suchen einer Ressource erforderlich sind.

Eine relative URL sucht eine Ressource mit einer absoluten URL als Ausgangspunkt. Tatsächlich wird die „vollständige URL“ des Ziels angegeben, indem die absoluten und relativen URLs verkettet werden.

Eine absolute URL verwendet das folgende Format: scheme://server/path/resource

Eine relative URL besteht üblicherweise aus dem Pfad und optional aus der Ressource. Es wird jedoch kein Schema oder Server angegeben. In den folgenden Tabellen werden die einzelnen Teile des vollständigen URL-Formats definiert.

Schema
Gibt an, wie auf die Ressource zugegriffen werden soll

server
Gibt den Namen des Computers an, auf dem die Ressource gespeichert ist

path
Gibt die Sequenz der Verzeichnisse an, die zum Ziel führen. Wenn die Ressource nicht angegeben wird, ist das Ziel das letzte Verzeichnis im Pfad.

resource
Wenn die Ressource enthalten ist, ist sie das Ziel und üblicherweise der Name einer Datei. Es kann sich um eine einfache Datei handeln, die einen einzelnen binären Stream aus Bytes enthält, oder um ein strukturiertes Dokument, das mindestens einen Speicher und binäre Streams von Bytes enthält.

URL-Schemaregistrierung

Wenn ein Anbieter URLs unterstützt, registriert er mindestens ein URL-Schema. Mit Registrierung wird gemeint, dass alle URLs, die das Schema verwenden, automatisch den registrierten Anbieter aufrufen. Das HTTP-Schema wird beispielsweise für den Microsoft OLE DB-Anbieter für Internet-Publishing registriert. ADO setzt voraus, dass alle URLs mit dem Präfix „http“ Webordner oder Dateien darstellen, die mit dem Anbieter für Internet-Publishing verwendet werden sollen. Informationen zu den von Ihrem Anbieter registrierten Schemas finden Sie in der Anbieterdokumentation.

Definieren des Kontexts mit einer URL

Eine Funktion einer offenen Verbindung, die durch ein Connection-Objekt dargestellt wird, besteht darin, nachfolgende Vorgänge auf eine Datenquelle zu beschränken, die durch diese Verbindung dargestellt wird. Das bedeutet, dass die Verbindung den Kontext für nachfolgende Vorgänge definiert.

Mit ADO 2.7 und später kann eine absolute URL ebenfalls einen Kontext definieren. Wenn beispielsweise ein Record-Objekt mit einer absoluten URL geöffnet wird, wird ein Connection-Objekt implizit erstellt, um die von der URL angegebenen Ressource darzustellen.

Eine absolute URL, die einen Kontext definiert, kann im ActiveConnection-Parameter der Open-Methode des Record-Objekts angegeben werden. Eine absolute URL kann auch als Wert des „URL=“-Schlüsselworts im Connection-Objekt der Open-Methode des ConnectionString-Parameters und als Recordset-Objekt der Open-Methode des ActiveConnection-Parameters angegeben werden.

Kontext kann auch definiert werden, indem ein Record- oder Recordset-Objekt geöffnet wird, das ein Verzeichnis darstellt, da diese Objekte bereits ein implizit oder explizit deklariertes Connection-Objekt aufweisen, das den Kontext angibt.

Eingeschränkte Vorgänge

Der Kontext definiert auch den Bereich, das Verzeichnis und seine Unterverzeichnisse, die an den nachfolgenden Vorgängen beteiligt sein können. Das Objekt Record verfügt über mehrere bereichsbezogene Methoden, die in einem Verzeichnis und allen seinen Unterverzeichnissen angewendet werden. Zu diesen Methoden gehören CopyRecord, MoveRecord und DeleteRecord.

Relative URLs als Befehlstext

Sie können einen Befehl angeben, der in der Datenquelle ausgeführt werden soll, indem Sie eine Zeichenfolge im CommandText-Parameter der Execute-Methode des Connection-Objekts und im Parameter Source der Open-Methode des Recordset-Objekts eingeben.

Eine relative URL kann im CommandText- oder Source-Parameter angegeben werden. Die relative URL stellt keinen Befehl dar (wie z. B. einen SQL-Befehl), sie gibt lediglich die Parameter an. Der Kontext der aktiven Verbindung muss eine absolute URL sein, und der Parameter Option muss auf adCmdTableDirect festgelegt sein.

Im folgenden Codebeispiel wird gezeigt, wie Sie ein Recordset-Objekt in der Readme25.txt-Datei des Verzeichnisses „Winnt/system32“ öffnen können:

recordset.Open "system32/Readme25.txt", "URL=https://YourServer/Winnt/",,,adCmdTableDirect  

Die absolute URL in der Verbindungszeichenfolge gibt den Server (YourServer) und den Pfad (Winnt) an. Diese URL definiert auch den Kontext.

Die relative URL im Befehlstext verwendet die absolute URL als Startpunkt und gibt den Rest des Pfads (system32) und die zu öffnende Datei (Readme25.txt) an.

Das Optionsfeld (adCmdTableDirect) gibt an, dass der Befehlstyp eine relative URL ist.

Als weiteres Beispiel wird im folgenden Code ein Recordset-Objekt im Inhalt des Winnt-Verzeichnisses geöffnet:

recordset.Open "", "URL=https://YourServer/Winnt/",,,adCmdTableDirect  

Vom OLE DB-Anbieter bereitgestellte URL-Schemas

Der wichtigste Teil einer vollqualifizierten URL ist das Schema, das verwendet wird, um auf die Ressource zuzugreifen, die vom Rest der URL identifiziert wird. Beispiele sind HTTP (Hypertext Transfer-Protokoll) und FTP (File Transfer Protocol).

ADO unterstützt OLE DB-Anbieter, die ihre eigenen URL-Schemas erkennen. Beispielsweise erkennt der Microsoft OLE DB-Anbieter für Internet-Publishing, der auf „veröffentlichte“ Windows 2000-Dateien zugreift, das vorhandene HTTP-Schema.

Weitere Informationen

Connection-Objekt (ADO)
Record-Objekt (ADO)
Recordset-Objekt (ADO)