如何使用WSO2 DSS 6.4.0将Excel工作表的所有记录插入SQL数据库?



我是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>

从Excel工作表检索记录后,您将获得记录集。因此,您必须编写一个突触配置来插入每条记录。为此,您可以迭代 excel 工作表数据的有效负载(对于每条记录)并插入。您可以使用迭代调解器。例如,您可以实现与此类似的内容。

你可以关注,

  1. 在代理服务/API中调用数据服务以获取Excel工作表的 数据。
  2. 循环访问结果集。
  3. 在每次迭代中,创建 有效负载将数据插入数据库并调用数据服务以调用 插入数据查询。
  4. 调用代理服务/API。

最新更新