首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用wso2dss中用户定义的数据类型从嵌套类型对象中获取数据

如何使用wso2dss中用户定义的数据类型从嵌套类型对象中获取数据
EN

Stack Overflow用户
提问于 2017-05-13 09:42:47
回答 1查看 169关注 0票数 0

我正在尝试使用wso2dss中的用户定义数据类型(UDT)从oracle对象中检索数据,部分它正在工作,并从中获取数据。但是,当我配置数组的嵌套类型对象时,它就停止工作了,这可能是映射问题。

场景:I创建了4种类型的对象,它混合了普通对象和myType4对象,试图使用返回myType4对象的函数访问。此外,没有Array,一切都很好,但是对于Array,它并不使用wso2dss中的索引。我们只能使用索引值访问UDT对象,就像我使用的一样。

错误:

代码语言:javascript
复制
<faultstring>
DS Fault Message: Error in 'SQLQuery.processStoredProcQuery': DS Fault Message: The array 'myArray1' does not exist DS Code: UNKNOWN_ERROR DS Code: DATABASE_ERROR Source Data Service:- Name: Details Location: /details.dbs Description: N/A Default Namespace: http://ws.wso2.org/dataservice Current Request Name: _getData Current Params: {} Nested Exception:- DS Fault Message: The array 'myArray1' does not exist DS Code: UNKNOWN_ERROR
</faultstring>

SQL:

代码语言:javascript
复制
CREATE OR REPLACE TYPE myType1 IS OBJECT (col1 VARCHAR2(100 CHAR) ,col2 VARCHAR2(2000 CHAR));
    CREATE OR REPLACE TYPE myType2 IS TABLE OF VARCHAR2(1000);
    CREATE OR REPLACE TYPE myType3 IS TABLE OF myType1;
    CREATE OR REPLACE TYPE myType4 is OBJECT(
    col11 VARCHAR2(50),
    col12 myType3,
    col13 myType2);

    CREATE OR REPLACE PACKAGE myPackage IS
        FUNCTION getData RETURN myType4;
    end myPackage;

WSO2DSS DBS文件:

代码语言:javascript
复制
<data enableBoxcarring="true" name="Data" serviceNamespace="">
<config enableOData="false" id="MYCONFIG">
<property name="carbon_datasource_name">MYCONFIG</property>
</config>
<query id="qDetails" useConfig="MYCONFIG">
<sql>
{call ?:=myPackage.getData();}
</sql>
<result element="MYDetailResponse" rowName="Details">
<element column="MY_T[0]" name="data1" xsdType="string"/> 
<element arrayName="myArray1" column="MY_T[1]" name="datalist1" /> 
<element arrayName="myArray2" column="MY_T[2]" name="datalist2"/>
</result>
<param name="MY_T" ordinal="1" sqlType="STRUCT" structType="MYTYPE4" type="OUT"/>
</query>
<resource method="GET" path="data">
<call-query href="qDetails"/>
</resource>
</data>

请指点?

EN

回答 1

Stack Overflow用户

发布于 2017-06-15 00:02:03

我与WSO2团队联系过,DSS不支持这种场景,但是您可以使用游标对列表类型的复杂对象获取数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43951609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档