绝对 URL 和相对 URL
URL 指定存储在本地或网络计算机上的目标的位置。 目标可以是文件、目录、HTML 页面、图像、程序等。
绝对 URL 包含查找资源所需的所有信息。
相对 URL 用来通过绝对 URL 作为起点来定位资源。 实际上,通过连接绝对 URL 和相对 URL 来指定目标的“完整 URL”。
绝对URL(统一资源定位符) 使用以下格式:scheme://server/path/resource
相对 URL 通常仅包含 路径,并且可以选择性地包含 资源,但不包含 方案 或 服务器。 下表定义完整 URL 格式的各个部分。
方案
指定如何访问 资源。
服务器
指定 资源 所在的计算机的名称。
路径
指定指向目标的目录序列。 如果省略 资源,则目标是 路径中的最后一个目录。
资源
如果包含,则 资源 是目标,通常是文件的名称。 它可以是一个 简单文件, 包含单个二进制字节流,或者 结构化文档, 包含一个或多个存储和二进制字节流。
URL 方案注册
如果提供程序支持 URL,提供程序将注册一个或多个 URL 方案。 注册意味着使用方案的任何 URL 都会自动调用已注册的提供程序。 例如,http 模式注册到 Microsoft OLE DB Provider for Internet Publishing。 ADO 假定前缀为“http”的所有 URL 表示要与 Internet 发布提供程序一起使用的 Web 文件夹或文件。 有关提供商注册的方案的信息,请参阅提供商文档。
使用 URL 定义上下文
打开连接的一个函数(由 Connection 对象表示)是将后续操作限制为该连接所表示的数据源。 也就是说,连接定义后续操作的上下文。
使用 ADO 2.7 或更高版本,绝对 URL 还可以定义上下文。 例如,使用绝对 URL 打开 Record 对象时,会隐式创建一个 Connection 对象来表示 URL 指定的资源。
定义上下文的绝对 URL 可以在 Record 对象的 ActiveConnection 参数中通过 Open 方法指定。 还可以将绝对 URL 指定为 Connection 对象 Open 方法 ConnectionString 参数中的“URL=”关键字的值,Recordset 对象 Open 方法 ActiveConnection 参数。
还可以通过打开表示目录的 Record 或 Recordset 对象来定义上下文,因为这些对象已具有隐式或显式声明 Connection 对象指定上下文。
作用域内操作
上下文还定义了范围,即可以参与后续操作的目录及其子目录。 Record 对象具有多个对目录及其所有子目录进行操作的范围方法。 这些方法包括 CopyRecord、MoveRecord和 DeleteRecord。
将相对 URL 作为命令文本
可以通过在 Connection 对象的 Execute 方法的 CommandText 参数中键入字符串,并在 Recordset 对象的 Open 方法的 Source 参数中指定要对数据源执行的命令。
可以在 CommandText 或 Source 参数中指定相对 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 作为起点,并指定路径(system32
)的其余部分以及要打开的文件(Readme25.txt
)。
选项字段(adCmdTableDirect
)表明命令类型为相对URL。
另一个示例是,以下代码将在 Winnt
目录的内容上打开 Recordset:
recordset.Open "", "URL=https://YourServer/Winnt/",,,adCmdTableDirect
OLE DB Provider-Supplied URL 模式
完全限定 URL 的前导部分是 方案,用于访问 URL 其余部分标识的资源。 例如 HTTP(超文本传输协议)和 FTP(文件传输协议)。
ADO 支持识别其自己的 URL 方案的 OLE DB 提供程序。 例如,Microsoft OLE DB Provider for Internet Publishing( 访问“已发布”Windows 2000 文件)可识别现有的 HTTP 方案。