特殊 LOB 作業訊息架構
ReadLOB 和 UpdateLOB 作業會針對包含 LOB 資料行的資料表和檢視呈現;,這是用來儲存 Oracle 大型物件的資料行, (LOB) 資料。 這些作業可讓您讀取或寫入 LOB 資料作為 base64Binary 編碼資料的資料流程。 它們會在單一資料列中的單一 LOB 資料行上運作。
如需 ReadLOB 和 UpdateLOB 作業的概觀,以及支援的 Oracle LOB 資料類型,請參閱 在 Oracle 資料庫中包含 LOB 資料的資料表和檢視表上的作業。
LOB Data-Type 作業的訊息結構
下表顯示 ReadLOB 和 UpdateLOB 作業的要求和回應訊息結構。 作業的目標資料表是在訊息動作中指定,也會出現在目標命名空間中。
作業 | XML 訊息 | Description |
---|---|---|
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 資料的輸入串流。 您應該使用資料表選取作業,從 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 Database 配接器會使用訊息動作中指定的資料表名稱來判斷作業的目標資料表。
作業 | 動作 | 範例 |
---|---|---|
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。 (SCOTT。CUSTOMER 資料表是由 samples.) 中包含的 SQL 腳本所安裝
重要
檢視表上 ReadLOB 和 UpdateLOB 作業的訊息動作類似于用於資料表的訊息動作,不同之處在于該作業的動作會指定檢視,而不是資料表: [VERSION]/[SCHEMA]/View/[VIEW_NAME]/ReadLOB
。