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