我是wso2 6.4.0的新手。我必须将excel数据插入到sql中,所以我选择了wso2 dss。使用dss记录正确获取并插入,但仅插入一条记录(仅顶部一条),其余记录将被跳过。我还使用了嵌套查询选项来检索和插入。
<query id="readExcelData" useConfig="excelConfig">
<excel>
<workbookname>sheet1</workbookname>
<hasheader>true</hasheader>
<startingrow>2</startingrow>
<maxrowcount>-1</maxrowcount>
<headerrow>1</headerrow>
</excel>
<result element="Products" rowName="Product">
<element column="ID" name="ID" xsdType="xs:string"/>
<element column="Model" name="Model" xsdType="xs:string"/>
<element column="Classification" name="Classification" xsdType="xs:string"/>
<call-query href="insertIntoSql" requiredRoles="">
<with-param name="ID" query-param="ID" />
<with-param name="Model" query-param="Model" />
<with-param name="Classification" query-param="Classification" />
</call-query>
</result>
</query>
<operation name="excelFileProcessing" returnRequestStatus="true">
<call-query href="readExcelData"/>
</operation>
<query id="insertIntoSql" useConfig="sqlConfig">
<sql>insert into dbo.myProductList(ID,Model,Classification) values(:ID,:Model,:Classification)</sql>
<param name="ID" sqlType="STRING" />
<param name="Model" sqlType="STRING" />
<param name="Classification" sqlType="STRING" />
</query>
发布于 2019-06-07 13:41:22
从Excel工作表中检索记录后,您将获得多组记录。因此,您必须编写synapse配置来插入每条记录。为此,您已经遍历了excel工作表数据的有效负载(针对每条记录)并插入。您可以使用iterate mediator。例如,您可以实现类似于this的东西。
你可以跟着我,
https://stackoverflow.com/questions/56476297
复制相似问题