Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database mule中的分割数据库输出_Database_Mule_Splitter - Fatal编程技术网

Database mule中的分割数据库输出

Database mule中的分割数据库输出,database,mule,splitter,Database,Mule,Splitter,我有下面的数据库输出,我如何分割它 [{country=United States, accountID=4410, street=12345 Green Rd, state=Colorado, name=Dale Burgers, city=Boulder, postal=80305}, {country=United Kingdom, accountID=4411, street=capthorne Avenue, state=Harrow, name=Arjun, city=london

我有下面的数据库输出,我如何分割它

 [{country=United States, accountID=4410, street=12345 Green Rd, state=Colorado, name=Dale Burgers, city=Boulder, postal=80305}, {country=United Kingdom, accountID=4411, street=capthorne Avenue, state=Harrow, name=Arjun, city=london, postal=ha29eb}, {country=usa, accountID=4412, street=elden st, state=va, name=Home Foods, city=herndon, postal=20170}, {country=usa, accountID=4413, street=herndon parkway, state=va, name=Home Foods 2, city=herndon, postal=20170}, {country=usa, accountID=4414, street=van barun st, state=va, name=home foods 3, city=herndon, postal=20170}, {country=United Kingdom, accountID=4415, street=355 E Capthorne Court, Alexandra Avenue, state=Harrow, name=Barkha , city=Haarow London, postal=ha29eb}, {country=Canada, accountID=4416, street=4130 Chromoly, state=BC, name=Spawn Cycles, city=Squamish, postal=L0L0L0}, {country=Canada, accountID=4417, street=1 Yonge Street, state=BC, name=Post Spawn, city=Vancouver, postal=L1L1L1}, {country=Canada, accountID=4418, street=1 Yonge Street, state=BC, name=Post Post Spawn, city=Vancouver, postal=L2L2L2}, {country=Canada, accountID=4419, street=1 Yonge Street, state=BC, name=Post Post Post Spawn, city=Vancouver, postal=L0L0L0}]
我尝试将JSON添加到对象转换器,形成列表类型和集合拆分器,但只传递了第一条记录

 {country=United States, accountID=4410, street=12345 Green Rd, state=Colorado, name=Dale Burgers, city=Boulder, postal=80305}

数据库输出应仅为列表或迭代器。但是如果你得到的是JSON。您可以通过以下方式实现它

使用将返回列表的Dataweave-

%dw 1.0
%output application/java
---
payload
使用它将返回迭代器(拆分迭代器)-


使用JSON到对象转换器-

<json:json-to-object-transformer returnClass="java.util.List" doc:name="JSON to Object"/>


希望这能有所帮助。

最简单的方法是使用json-to-object transformer将json转换为java对象,这将为您提供一个对象集合。然后,您可以使用Mule中的foreach处理器在此集合上循环


希望获得此帮助。

数据库连接器正在以
java.util.LinkedList
格式返回值,如果要将结果按记录拆分,请在数据库轮询组件之后对每个作用域使用。 请在下面找到示例代码段:

 <db:mysql-config name="MySQL_Configuration" host="hostname" port="3306" user="mule" password="welcome1" database="schema" doc:name="MySQL Configuration"/>
    <flow name="database-47729955Flow">
        <poll doc:name="Poll">
            <fixed-frequency-scheduler frequency="10" timeUnit="SECONDS"/>
            <db:select config-ref="MySQL_Configuration" doc:name="Database">
                <db:parameterized-query><![CDATA[SELECT * FROM schema.table_name where B2B_REQUEST_TYPE='Send';]]></db:parameterized-query>
            </db:select>
        </poll>
        <foreach doc:name="For Each">
            <logger message="#['\n Database record is:'+payload]" level="INFO" doc:name="Logger"/>
            <logger message="#['\nNext record']" level="INFO" doc:name="Logger"/>
        </foreach>
    </flow>

问候,


Sreenivas B

@Mahesh_Loya你能看一下吗?是的,我可以这样做。。但使用拆分器组件失败了。。我不确定我犯了什么错误。我想在这种情况下,您需要发布一个样本片段来测试这个问题
 <db:mysql-config name="MySQL_Configuration" host="hostname" port="3306" user="mule" password="welcome1" database="schema" doc:name="MySQL Configuration"/>
    <flow name="database-47729955Flow">
        <poll doc:name="Poll">
            <fixed-frequency-scheduler frequency="10" timeUnit="SECONDS"/>
            <db:select config-ref="MySQL_Configuration" doc:name="Database">
                <db:parameterized-query><![CDATA[SELECT * FROM schema.table_name where B2B_REQUEST_TYPE='Send';]]></db:parameterized-query>
            </db:select>
        </poll>
        <foreach doc:name="For Each">
            <logger message="#['\n Database record is:'+payload]" level="INFO" doc:name="Logger"/>
            <logger message="#['\nNext record']" level="INFO" doc:name="Logger"/>
        </foreach>
    </flow>