绝对 URL 和相对 URL

适用于:Access 2013、Office 2013

URL 指定在本地或网络计算机上存储的目标(如文件、目录、HTML 页、图像、程序等)的位置。 在本讨论中,绝对 URL 的形式为:

scheme://server/path/resource

其中:

名称 说明
scheme 指定如何访问 resource
server 指定 resource 所在的计算机的名称。
path 指定在目标前面的目录序列。 如果省略 resource,则目标是 path 中最后一个目录。
resource 如果包含它,则 resource 是目标,并且通常是文件的名称。 它可以是包含单个二进制字节流的 简单文件,也可以是包含一个或多个存储和二进制字节流的 结构化文档

绝对 URL 包含定位资源所需的所有信息。

相对 URL 使用绝对 URL 作为起点来定位资源。 实际上,目标的“完整 URL”是通过将绝对和相对 URL 连接在一起指定的。 相对 URL 通常只由 path 和可选的 resource 组成,但没有 schemeserver

URL 方案注册

如果提供程序支持 URL,它将注册一个或多个 URL 架构。 这意味着使用此架构的任何 URL 都将自动调用所注册的提供程序。 例如,http 架构注册到 Microsoft OLE DB Provider for Internet Publishing。 ADO 假定所有以“http”为前缀的 URL 都表示要与 Internet 发布提供程序一起使用的 Web 文件夹或文件。 有关由提供程序注册的架构的信息,请参阅提供程序文档。

使用 URL 定义上下文

打开的连接(由 Connection 对象表示)的一个功能是将随后的操作限制到由该连接表示的数据源。 就是说,连接定义了后续操作的上下文。

使用 ADO 2.5,绝对 URL 也可能定义上下文。 例如,使用绝对 URL 打开 Record 对象时,将隐式创建 Connection 对象以表示该 URL 所指定的资源。

可以在 Record 对象的 Open 方法的 ActiveConnection 参数中指定用于定义上下文的绝对 URL。 还可以将绝对 URL 指定为 Connection 对象 Open 方法 ConnectionString 参数和 Recordset 对象 Open 方法 ActiveConnection 参数中新URL=关键字 (keyword) 的值。

还可以用表示目录的已打开 RecordRecordset 对象来定义上下文,因为这些对象已经具有用于指定上下文的隐式或显式声明的 Connection 对象。

作用域内操作

上下文同时定义 一个范围,即可能参与后续操作的目录及其子目录。 Record 对象具有多个对目录及其所有子目录操作的已确定范围的方法,包括 CopyRecordMoveRecordDeleteRecord

相对 URL 作为命令文本

可以在 Connection 对象的 Execute 方法的 CommandText 参数中以及在 Recordset 对象的 Open 方法的 Source 参数中,指定用于确定要对数据源执行的命令的字符串。

可以在 CommandTextSource 参数中指定相对 URL。 相对 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 作为起点,并指定要打开 (Readme25.txt) (system32) 路径的其余部分。

选项字段指示命令类型是相对 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 提供程序(用于 Internet 发布)可识别现有的 HTTP 方案。