客户端应用程序和搜索方法
上一次修改主题: 2005-05-06
Outlook 使用基于 MAPI 的搜索方法在 Exchange Server 2003 中进行搜索。如果开发自定义的客户端应用程序,则既可以使用基于 MAPI 的搜索方法,也可以使用基于 ExOLEDB 的搜索方法。要使用 ExOLEDB,应从以下几个 API 中进行选择:HTTP/DAV、协作数据对象 (CDO) 或 ActiveX 数据对象 (ADO)。
注意: |
---|
不能使用基于 MAPI 的搜索方法来搜索约会或任务。 |
下表提供了可以用来在 Exchange Server 2003 中执行搜索的不同方法的详细信息。在该表中,“浅”指的是范围限于一个文件夹或一组特定文件夹的搜索。“深”指的是范围包含某个文件夹及其所有子文件夹的搜索。
Exchange Server 2003 中的可用协议所使用的搜索方法
API 或应用程序 | 范围 | 方法 | 创建搜索文件夹 |
---|---|---|---|
MAPI |
浅 |
Restrict FindRow |
是 仅在内存中 |
Outlook(仅限于公用文件夹) (MAPI 协议) |
浅 |
Restrict |
是 |
Outlook(邮箱) (MAPI 协议) |
任意 |
SetSearchCriteria |
是 |
CDO 1.2 (MAPI 协议) |
任意 |
Restrict |
是 |
CDO 2.x、CDO 3.x、ADO (ExOLEDB) |
浅(一个文件夹) |
Restrict |
是 |
CDO 2.x、CDO 3.x、ADO (ExOLEDB) |
深,或者具有多个文件夹的浅范围 |
SRestrict SetSearchCriteria |
是 临时 |
HTTP/DAV (ExOLEDB) |
任意 |
Search |
是;可以嵌套 |
HTTP/DAV (ExOLEDB) |
任意 |
PropFind |
否 |
使用 ExOLEDB 搜索时要记住的几点
要使用 ExOLEDB 方法搜索,必须为搜索构造一个 SQL 语句。当 Exchange Server 2003 处理此 SQL 语句时,会将该语句转换为与 MAPI 兼容的 SRestrict 结构。
使用 ExOLEDB 的进程只能运行在存放要搜索的数据的服务器上。这意味着搜索过程可能使 Exchange Server 2003 邮箱服务器或公用文件夹服务器的速度减慢。
使用 HTTP/DAV 搜索时要记住的几点
由于 HTTP/DAV 搜索在内部使用 ExOLEDB,因此其工作方式在大多数情况下与其他 ExOLEDB 搜索类似。一个例外是,当使用 HTTP/DAV PropFind 方法时,可以将某些搜索处理负载移至除 Exchange Server 2003 邮箱服务器或公用文件夹服务器以外的服务器上。
可以使用 HTTP/DAV 来创建嵌套的搜索文件夹。如果搜索现有的搜索文件夹,Exchange Server 2003 将在原始搜索文件夹中新建一个搜索文件夹。