如何在wso2esb 4.8.0中处理多个csv插入

如何在wso2esb 4.8.0中处理多个csv插入,wso2,wso2esb,wso2dss,Wso2,Wso2esb,Wso2dss,我正在使用wso2esb4.8.0。我希望将数据插入表中。我正在以.CSV格式从客户端获取数据。我已经更改了AXIS2文件中的VFS传输详细信息,并且我的配置对于单个CSV文件运行良好 但我的场景是,我有多个表,如客户、公司、分支机构、部门、参与方 它们是相互依赖的,这意味着如果我想插入到公司中,我需要和所有表一样的clientid 客户机给我示例数据我的clientid是数据库中的自动生成函数,这意味着我需要插入其余字段,我将获得在dblookup mediator中使用此查询的clienti

我正在使用wso2esb4.8.0。我希望将数据插入表中。我正在以.CSV格式从客户端获取数据。我已经更改了AXIS2文件中的VFS传输详细信息,并且我的配置对于单个CSV文件运行良好 但我的场景是,我有多个表,如客户、公司、分支机构、部门、参与方 它们是相互依赖的,这意味着如果我想插入到公司中,我需要和所有表一样的clientid 客户机给我示例数据我的clientid是数据库中的自动生成函数,这意味着我需要插入其余字段,我将获得在dblookup mediator中使用此查询的clientid

insert into client(clientcode,clientname,clientshortname,createdbyid,modifiedbyid) values(?,?,?,?,?) RETURNING  clientid; 
我需要用这个id插入公司,我该怎么做?我试着插入客户机,但无法知道下一次插入我的配置是什么

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="Smook"
       transports="https,http,vfs"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <smooks config-key="Smook">
            <input type="text"/>
            <output type="xml"/>
         </smooks>
         <dblookup>
            <connection>
               <pool>
                  <password>Youtility11</password>
                  <user>youtilitydba</user>
                  <url>jdbc:postgresql://localhost:5432/USCProduction</url>
                  <driver>org.postgresql.Driver</driver>
               </pool>
            </connection>
            <statement>
               <sql>insert into mclient(clientcode,clientname,clientshortname,createdbyid,modifiedbyid) values(?,?,?,?,?) RETURNING  clientid;</sql>
               <parameter expression="//clientcode/text()" type="CHAR"/>
               <parameter expression="//clientname/text()" type="CHAR"/>
               <parameter expression="//clientshortname/text()" type="CHAR"/>
               <parameter expression="//createdbyid/text()" type="BIGINT"/>
               <parameter expression="//modifiedbyid/text()" type="BIGINT"/>
               <result name="clientid" column="clientid"/>
            </statement>
         </dblookup>
         <log level="full">
            <property name="message" expression="get-property('clientid')"/>
         </log>
      </inSequence>
      <outSequence/>
   </target>
   <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
   <parameter name="transport.PollInterval">5</parameter>
   <parameter name="transport.vfs.MoveAfterProcess">file:///home/youtility2/Desktop/smooks/out</parameter>
   <parameter name="transport.vfs.FileURI">file:///home/youtility2/Desktop/smooks/in</parameter>
   <parameter name="transport.vfs.MoveAfterFailure">file:///home/youtility2/Desktop/smooks/failure</parameter>
   <parameter name="transport.vfs.FileNamePattern">.*.csv</parameter>
   <parameter name="transport.vfs.ContentType">text/plain</parameter>
   <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
   <description/>
</proxy>

年轻
年轻人
jdbc:postgresql://localhost:5432/USCProduction
org.postgresql.Driver
在mclient(clientcode、clientname、clientshortname、createdbyid、modifiedbyid)中插入返回clientid的值(?、、?、?、?);
移动
5.
file:///home/youtility2/Desktop/smooks/out
file:///home/youtility2/Desktop/smooks/in
file:///home/youtility2/Desktop/smooks/failure
.*.csv
文本/纯文本
移动
我的调解人是这样的

<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:csv="http://www.milyn.org/xsd/smooks/csv-1.2.xsd">
      <resource-config selector="org.xml.sax.driver">
         <resource>org.milyn.csv.CSVReader</resource>
         <param name="fields">clientcode,clientname,clientshortname,createdbyid,modifiedbyid</param>
         <param name="rootElementName">people</param>
         <param name="recordElementName">person</param>
      </resource-config>
   </smooks-resource-list>

org.milyn.csv.CSVReader
clientcode、clientname、clientshortname、createdbyid、modifiedbyid
人
人

我有clientid,但我的公司csv与上述相同。如果我插入公司,我将获得公司ID。我将如何执行此操作?我有任何想法。

Hi。。能否提供CSV文件的示例?我不清楚您的客户、公司等数据是在同一个CSV文件中还是在不同的CSV文件中。这些不同的文件。请仔细阅读我发表的这篇文章,了解更多细节。。。。