絶対 URL と相対 URL
適用先: Access 2013、Office 2013
URL で、ファイル、ディレクトリ、HTML ページ、画像、プログラムなどの保存先、つまりローカルまたはネットワーク コンピューターでの場所を指定します。 ここでは、"絶対 URL" は次の形式とします。
scheme://server/path/resource
各部分の意味は次のとおりです。
名前 | 説明 |
---|---|
scheme | resource がどのようにアクセスされるかを指定します。 |
server | resource が存在するコンピューターの名前を指定します。 |
path | ターゲットに導くディレクトリの順序を指定します。 resource が省略されると、ターゲットは path 内の最後のディレクトリと見なされます。 |
resource | 含まれている場合、 リソース はターゲットであり、通常はファイルの名前です。 これは、1 つのバイナリ ストリームのバイトを含む 単純なファイル、または 1 つ以上のストレージとバイトのバイナリ ストリームを含む 構造化ドキュメントです。 |
"絶対 URL" には、リソースを検索するために必要なすべての情報が含まれています。
相対 URL は、開始点として絶対 URL を使用してリソースを検索します。 In effect, the "complete URL" of the target is specified by concatenating the absolute and relative URLs. 通常、相対 URL は パスのみで構成され、必要に応じて リソースで構成されますが、 スキーム や サーバーは構成されません。
URL スキームの登録
プロバイダーが URL をサポートしている場合、1 つまたは複数の URL スキーマに登録します。 つまり、このスキーマを使用する URL は、登録されたプロバイダーを自動的に呼び出します。 たとえば、http スキーマは、Microsoft OLE DB Provider for Internet Publishing に登録されます。 ADO では、"http" というプレフィックスが付いたすべての URL が、インターネット 公開プロバイダーで使用される Web フォルダーまたはファイルを表していると想定しています。 プロバイダーにより登録されるスキーマの詳細については、使用しているプロバイダーのマニュアルを参照してください。
URL を使用してコンテキストを定義する
Connection オブジェクトで表される開かれた接続の機能の 1 つは、その接続で表されるデータ ソースへの後続の操作を制限することです。 つまり、接続によって後続の操作のコンテキストが定義されます。
ADO 2.5 では、絶対 URL でコンテキストを定義することもできます。 たとえば、Record オブジェクトが絶対 URL で開かれたとき、URL に指定されたリソースを表すために、 Connection オブジェクトが暗黙的に作成されます。
コンテキストを定義する絶対 URL は、Record オブジェクト Open メソッドの ActiveConnection パラメーターに指定することができます。 絶対 URL は、Connection オブジェクト Open メソッド ConnectionString パラメーターと Recordset オブジェクト OpenメソッドActiveConnection パラメーターの新しいURL=
キーワード (keyword)の値として指定することもできます。
Context may also be defined with an open Record or Recordset object that represents a directory because these objects already have an implicitly or explicitly declared Connection object that specifies context.
スコープ付き操作
コンテキストでは、 スコープ (つまり、後続の操作に参加するディレクトリとそのサブディレクトリ) が同時に定義されます。 The Record object has several scoped methods, including CopyRecord, MoveRecord, and DeleteRecord, that operate on a directory and all its subdirectories.
コマンド テキストとしての相対 URL
データ ソースで実行されるコマンドを指定する文字列は、Connection オブジェクト Execute メソッドの CommandText パラメーター、および Recordset オブジェクト Open メソッドの Source パラメーター内で指定することができます。
相対 URL は、CommandText パラメーターまたは Source パラメーター内に指定できます。 相対 URL は実際には SQL コマンドなどのコマンドを指定するわけではなく、単にこれらのパラメーター内に指定されるだけです。 また、アクティブな接続のコンテキストは絶対 URL である必要があり、Option パラメーターは adCmdTableDirect に設定する必要があります。
たとえば、次のようにして、Winnt/system32 ディレクトリの Readme25.txt ファイルで Recordset を開くことができます。
recordset.Open "system32/Readme25.txt", "URL=https://YourServer/Winnt/",,,adCmdTableDirect
接続文字列の絶対 URL は、サーバー (YourServer) とパス (Winnt) を指定します。 この URL は、コンテキストも定義しています。
コマンド テキストの相対 URL は、絶対 URL を開始点として使用し、パス (system32) と開くファイルの残りの部分 (Readme25.txt) を指定します。
options フィールドは、コマンドの種類が相対 URL であることを示します。
別の例として、次のコードは、ディレクトリの内容で Recordset を開きます。
recordset.Open "", "URL=https://YourServer/Winnt/",,,adCmdTableDirect
OLE DB プロバイダー提供の URL スキーム
完全修飾 URL の先頭部分は、URL の残りの部分で識別されるリソースへのアクセスに使用される "スキーマ" です。 Examples are HTTP (HyperText Transfer Protocol) and FTP (File Transfer Protocol).
ADO supports OLE DB providers that recognize their own URL schemes. たとえば、Windows 2000 ファイルに "公開済み" のファイルにアクセスする Microsoft OLE DB Provider for Internet Publishing は、既存の HTTP スキームを認識します。