特殊 LOB 操作消息架构

为包含 LOB 列的表和视图显示 ReadLOB 和 UpdateLOB 操作;用于存储 Oracle 大型对象 (LOB) 数据的列。 通过这些操作,可以将 LOB 数据作为 base64Binary 编码的数据流读取或写入。 它们对单个行中的单个 LOB 数据列进行操作。

有关 ReadLOB 和 UpdateLOB 操作以及支持的 Oracle LOB 数据类型的概述,请参阅 对包含 Oracle 数据库中 LOB 数据的表和视图的操作

LOB Data-Type 操作的消息结构

下表显示了 ReadLOB 和 UpdateLOB 操作的请求和响应消息的结构。 操作的目标表在消息操作中指定,并且也显示在目标命名空间中。

操作 XML 消息 说明
ReadLOB <ReadLOB xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]"> <LOB_COLUMN>[COL_NAME]</LOB_COLUMN> <FILTER>[WHERE_clause]</LOB_COLUMN> </ReadLOB> 中的 LOB 数据

- 由 LOB_COLUMN 元素和 标识的列

- 与 FILTER 元素中指定的 where 子句匹配的行

返回。

where 子句应仅匹配单个行。 如果有多个匹配行,则返回第一个匹配行中的 LOB 数据。

重要 ReadLOB 操作旨在支持 WCF 服务模型中 LOB 数据的输入流式处理。 应使用表 Select 操作从 WCF 通道模型或BizTalk Server解决方案读取 LOB 数据。
ReadLOB 响应 <ReadLOBResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]"> <ReadLOBResult> [LOB_DATA] </ReadLOBResult> </ReadLOBResponse> LOB 数据作为 base64Binary 编码的数据流返回。

重要 适配器返回的 WSDL 与适配器用于 ReadLOB 响应消息的实际架构不匹配。
UpdateLOB <UpdateLOB xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]"> <LOB_COLUMN>[COL_NAME]</LOB_COLUMN> <FILTER>[WHERE_clause]</LOB_COLUMN> <Stream>[LOB_DATA]</Stream> </UpdateLOB> 中的 LOB 数据

- 由 LOB_COLUMN 元素和 标识的列

- 与 FILTER 元素中指定的 where 子句匹配的行

使用流中的 base64Binary 编码数据进行更新。

where 子句应仅匹配单个行。 如果有多个匹配行,则会引发异常。

注意 UpdateLOB 操作替换指定列和行中的所有数据。
UpdateLOB 响应 <UpdateLOBResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]"> </UpdateLOBResponse> 返回空响应。

[VERSION] = 消息版本字符串;例如“http://Microsoft.LobServices/OracleDB/2007/03”。

[SCHEMA] = Oracle 项目的集合;例如 SCOTT。

[TABLE_NAME] = 包含目标 LOB 列的表;例如 EMP。

[COL_NAME] = 目标 LOB 列的名称;例如,LOB_FIELD。

[WHERE_clause] = 与单行匹配的 Oracle 数据库 SELECT 语句 WHERE 子句;例如,ID = 1。

[LOB_DATA] = base64Binary 类型的 LOB 列数据。

重要

视图上的 ReadLOB 和 UpdateLOB 操作的消息结构与表上的操作相同,只不过操作的命名空间指定了视图而不是表: <ReadLOB xmlns ="[VERSION]/[SCHEMA]/``View``/[VIEW_NAME]">

LOB Data-Type 操作的消息操作

下表显示了 Oracle 数据库适配器用于对表执行 ReadLOB 和 UpdateLOB 操作的消息操作。 Oracle 数据库适配器使用消息操作中指定的表名称来确定操作的目标表。

操作 操作 示例
ReadLOB [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/ReadLOB http:/Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/CUSTOMER/ReadLOB
ReadLOB 响应 [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/ReadLOB/response http:/Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/CUSTOMER/ReadLOB/response
UpdateLOB [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/UpdateLOB http:/Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/CUSTOMER/UpdateLOB
UpdateLOB 响应 [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/UpdateLOB/response http:/Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/CUSTOMER/UpdateLOB/response

[VERSION] = 消息版本字符串,例如“http://Microsoft.LobServices.OracleDB/2007/03”。

[SCHEMA] = Oracle 项目的集合,例如 SCOTT。

[TABLE_NAME] = 包含目标 LOB 列的表;例如 CUSTOMER。 (斯科特CUSTOMER 表由 samples.)

重要

针对视图的 ReadLOB 和 UpdateLOB 操作的消息操作与用于表的消息操作类似,只不过该操作的操作指定了视图而不是表: [VERSION]/[SCHEMA]/View/[VIEW_NAME]/ReadLOB

另请参阅

Oracle 数据库的 BizTalk 适配器的消息和消息架构