特殊 LOB 操作的消息架构
为包含 LOB 列的表和视图显示Read_<LOBColName> 和 Update_<LOBColName> 操作,其中 <LOBColName> 是表或视图中的 LOB 列。 通过这些操作,可以将 LOB 数据作为 base64Binary 编码的数据流读取或写入。 它们对单个行中的单个 LOB 数据列进行操作。
有关 Read_LOBColName> 和 Update_<LOBColName> 操作以及支持的 Oracle LOB 数据类型的概述,请参阅对接口表、接口视图、表和包含 LOB 数据的视图的操作。<
LOB Data-Type 操作的消息结构
下表显示了 Read_LOBColName> 和 Update_<<LOBColName> 操作的请求和响应消息的结构。 操作的目标表在消息操作中指定,并且也显示在目标命名空间中。
注意
请参阅表后面的实体说明。
操作 | XML 消息 | 说明 |
---|---|---|
<Read_LOBColName> | <Read_[LOBColName] xmlns="[VERSION]/Tables/[SCHEMA]/[TABLE_NAME]"> <FILTER>[WHERE_clause]</FILTER></Read_[LOBColName]> |
返回行中与 FILTER 元素中指定的 where 子句匹配的 LOB 数据。 where 子句应仅匹配单个行。 如果有多个匹配行,Oracle 电子商务适配器将引发异常。 |
Read_<LOBColName> 响应 | <Read_[LOBColName]Response xmlns="[VERSION]/Tables/[SCHEMA]/[TABLE_NAME]"> <Read_[LOBColName]Result> [LOB_DATA] </Read_[LOBColName]Result></Read_[LOBColName]Response> |
LOB 数据作为 base64Binary 编码的数据流返回。 |
<Update_LOBColName> | <Update_[LOBColName] xmlns="[VERSION]/Tables/[SCHEMA]/[TABLE_NAME]"> <FILTER>[WHERE_clause]</LOB_COLUMN> <DATA>[Value]</DATA></Update_[LOBColName]> |
与 FILTER 元素中指定的 where 子句匹配的行中的 LOB 数据使用 DATA> 元素中的数据<进行更新。 where 子句应仅匹配单个行。 如果有多个匹配行,Oracle 电子商务适配器将引发异常。 注意 更新 BLOB 列时, <DATA> 元素必须始终包含 base64 编码的值。 对于 CLOB 和 NCLOB,DATA <> 元素可以具有字符串值。 |
<Update_LOBColName> 响应 | <Update_[LOBColName]Response xmlns="[VERSION]/Tables/[SCHEMA]/[TABLE_NAME]"></Update_[LOBColName]Response> |
返回空响应。 |
实体说明:
[VERSION] = 消息版本字符串;例如 , http://schemas.microsoft.com/OracleEBS/2008/05
。
[SCHEMA] = Oracle 项目的集合;例如 SCOTT。
[TABLE_NAME] = 包含目标 LOB 列的表;例如 CUSTOMER。
[LOBCol_Name] = LOB 列的名称;例如,照片。
[WHERE_clause] = 与单行匹配的 Oracle 数据库 SELECT 语句 WHERE 子句;例如,ID = 1。
[LOB_DATA] = base64Binary 类型的 LOB 列数据。
重要
Read_<LOBColName> 和视图Update_<LOBColName> 操作的消息结构与表上的消息结构相同,只不过操作的命名空间指定视图而不是表: <ReadLOB xmlns ="[VERSION]/Views/[SCHEMA]/[VIEW_NAME]">
。
LOB Data-Type 操作的消息操作
下表显示了 Oracle E-Business 适配器对表的 Read_<LOBColName> 和Update_<LOBColName> 操作使用的消息操作。 Oracle 电子商务适配器使用在消息操作中指定的表名称和 LOB 列名来确定操作的目标表和 LOB 列。
注意
请参阅表后面的实体说明。
操作 | 操作 | 示例 |
---|---|---|
<Read_LOBColName> | Tables/ReadLOB/[SCHEMA]/[TABLE_NAME]/[LOBColName] |
Tables/ReadLOB/SCOTT/CUSTOMER/Photo |
Read_<LOBColName> 响应 | Tables/ReadLOB/[SCHEMA]/[TABLE_NAME]/[LOBColName]/response |
Tables/ReadLOB/SCOTT/CUSTOMER/Photo/response |
<Update_LOBColName> |
对于 BLOB:Tables/UpdateBLOB/[SCHEMA]/[TABLE_NAME]/[LOBColName] 对于 CLOB 和 NCLOB: Tables/UpdateCLOB/[SCHEMA]/[TABLE_NAME]/[LOBColName] |
对于 BLOB:Tables/UpdateBLOB/SCOTT/CUSTOMER/Photo/ 对于 CLOB 和 NCLOB: Tables/UpdateCLOB/SCOTT/CUSTOMER/Photo1/ |
<Update_LOBColName> 响应 |
对于 BLOB:Tables/UpdateBLOB/[SCHEMA]/[TABLE_NAME]/[LOBColName]/response 对于 CLOB 和 NCLOB: Tables/UpdateCLOB/[SCHEMA]/[TABLE_NAME]/[LOBColName]/response |
对于 BLOB:Tables/UpdateBLOB/SCOTT/CUSTOMER/Photo/response 对于 CLOB 和 NCLOB: Tables/UpdateCLOB/SCOTT/CUSTOMER/Photo1/response |
实体说明:
[SCHEMA] = Oracle 项目的集合;例如 SCOTT。
[TABLE_NAME] = 包含目标 LOB 列的表;例如 CUSTOMER。 (斯科特CUSTOMER 表由 samples.)
[LOBCol_Name] = LOB 列的名称;例如,照片。
重要
针对视图的< Read_LOBColName> 和 Update_<LOBColName> 操作的消息操作与用于表的消息操作类似,只不过该操作的操作指定视图而不是表: Views/ReadLOB/[SCHEMA]/[VIEW_NAME]/[LOBColName]
。