1

私はオラクルの手順を持っています

TEST_XML_PARM_CALLER

呼び出し手順

TEST_XML_PARM_CALLEE(parm1 IN CLOB, parm2 OUT CLOB) 

WSO2 ESB、WSO2 DSS 経由。

parm1 は CLOB パラメータで、プロシージャ TEST_XML_PARM_CALLER から XML コンテンツを送信します。parm2 は、プロシージャ TEST_XML_PARM_CALLEE から XML コンテンツを返す CLOB パラメータです。

TEST_XML_PARM_CALLER から ESB、DSS、そして TEST_XML_PARAM_CALLEE への呼び出しは、CLOB コンテンツ (文字列の長さが 4000 を超える) によって正しいですが、次のように、長さが 4000 を超えると、戻りパラメーター (parm2) がエラーを発生させます。

ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: 6024, maximum: 4000)

WSO2 DSS では、以下のような構成

<data name="test_xml_parm">
   <config id="test_db">
      <property name="carbon_datasource_name">test_db</property>
   </config>
   <query id="qry_test_xml_parm" useConfig="test_db">
      <sql>call TEST_XML_PARM_CALLEE(?,?)</sql>
      <result element="rcd" rowName="row">
         <element column="rtn_clob" name="rtn_clob" xsdType="string"/>
      </result>
      <param name="clob_xml" ordinal="1" sqlType="STRING"/>
      <param name="rtn_clob" ordinal="2" sqlType="STRING" type="OUT"/>
   </query>
   <operation name="op_test_xml_parm">
      <call-query href="qry_test_xml_parm">
         <with-param name="clob_xml" query-param="clob_xml"/>
      </call-query>
   </operation>
</data>

誰でもそれを修正する方法を教えてもらえますか?

4

1 に答える 1