共用方式為


函式和程序的訊息結構描述

Microsoft BizTalk Adapter for Oracle Database 會以作業的形式呈現 Oracle 資料庫函式和預存程式。 本節描述用來叫用函式和程式的訊息結構和動作。

函式和程式的訊息結構

針對函式和預存程式呈現的作業會遵循要求-回應訊息交換模式。 下表顯示這些要求和回應訊息的結構。

作業 XML 訊息 Description
預存程式要求 <[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]> 支援訊息本文中的 Oracle IN 和 IN OUT 參數
預存程式回應 <[SP_NAME]Response xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure"> <[PRM1_NAME]>value1<[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]Response> 支援訊息本文中的 Oracle OUT 和 IN OUT 參數
函式要求 <[FN_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[FN_NAME]> 支援訊息本文中的 Oracle IN 和 IN OUT 參數
函式回應 <[FN_NAME]Response xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function"> <[FN_NAME]Result>return_value</[FN_NAME]Result> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[FN_NAME]Response> 支援訊息本文中的 Oracle OUT 和 IN OUT 參數

- 函式傳回值會在 元素中 <[FN_NAME]Result\> 傳回。 這是回應訊息中的第一個專案。 它出現在任何參數之前。
封裝的程式或函數要求 <[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]> 與函式或預存程式相同
封裝的程式或函式回應 <[SP_NAME]Response xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]Response> 與函式或預存程式相同

[SCHEMA] = Oracle 成品的集合;例如 SCOTT。

[SP_NAME] = 要執行的預存程式;例如,SP_INSERT。

[FN_NAME] = 要執行的函式;例如,FN_GETID。

[PRM1_NAME] = Oracle 參數的名稱。 如需每個訊息的支援參數指示,請參閱描述資料行。

[PACKAGE_NAME] = 包含目的程式或函式的封裝名稱。

Oracle 資料庫支援預存程式和函式的多載。 Oracle Database 配接器藉由將多載字串附加至每個多載成品的目標命名空間,以支援這項功能。 第一個多載的 「overload1」 值為 「overload2」,第二個多載則為 「overload2」,依此類故。 下列範例顯示兩個多載預存程式的訊息結構。

Stored Procedure Overload 1:  
<[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME]/overload1">    
  <[PRM1_NAME]>value1</[PRM1_NAME]>  
  <[PRM2_NAME]>value1</[PRM2_NAME]>  
  …  
</[SP_NAME]>  

Stored Procedure Overload 2:  
<[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME]/overload2">    
  <[PRM1_NAME]>value1</I_[PRM1_NAME]>  
  <[PRM2_NAME]>value1</I_[PRM2_NAME]>  
  …  
</[SP_NAME]>  

函式和程式的訊息動作

Oracle Database 配接器會針對預存程式和函式作業使用下列訊息動作。

訊息 動作 範例
預存程式要求 http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME] http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT
預存程式回應 http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/response
函式要求 http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function/[FN_NAME] http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Function/FN_GETID
函式回應 http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function/[FN_NAME]/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Function/FN_GETID/response
封裝預存程式要求 http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME] http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/SP_INSERT
封裝預存程式回應 http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME]/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/SP_INSERT/response
已封裝的函式要求 http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[FN_NAME] http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/FN_GETID
已封裝的函式回應 http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[FN_NAME]/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/FN_GETID/response
多載預存程式要求 http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/[OVERLOAD] http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/overload1
多載預存程式回應 http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/[OVERLOAD]/response http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/overload1/response

[SCHEMA] = Oracle 成品的集合;例如 SCOTT。

[SP_NAME] = 要執行的預存程式;例如,SP_INSERT。

[FN_NAME] = 要執行的函式;例如,FN_GETID。

[PACKAGE_NAME] = 包含目的程式或函式的封裝名稱。

[OVERLOAD] = 多載參數。 可能的值為多載1、多載2 等等。

另請參閱

BizTalk Adapter for Oracle Database 的訊息和訊息結構描述