関数およびプロシージャのメッセージ スキーマ
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 などです。