次の方法で共有


関数およびプロシージャのメッセージ スキーマ

Microsoft BizTalk Adapter for Oracle Database は、Oracle データベース関数とストアド プロシージャを操作として表示します。 このセクションでは、関数とプロシージャを呼び出すために使用されるメッセージ構造とアクションについて説明します。

関数とプロシージャのメッセージ構造

関数とストアド プロシージャに対して表示される操作は、要求/応答メッセージ交換パターンに従います。 次の表は、これらの要求メッセージと応答メッセージの構造を示しています。

操作 XML メッセージ 説明
ストアド プロシージャ要求 <[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"、2 番目のオーバーロードの場合は "overload2" です。 次の例は、2 つのオーバーロードされたストアド プロシージャのメッセージ構造を示しています。

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] = Overload パラメーター。 指定できる値は overload1、overload2 などです。

参照

BizTalk Adapter for Oracle Database 用のメッセージとメッセージ スキーマ