12

我对 Mule Studio 很陌生。

我面临一个问题。我有一个要求,我需要使用 Mule Studio 将 CSV 文件中的数据插入 PostgreSQL 数据库。

我正在使用 Mule Studio CE(版本:1.3.1)。我在 Google 中查看了 ed,发现我们可以使用 Data-mapper 来执行此操作。但它仅适用于 EE。所以我不能使用它。

另外我在网上查了一篇文章Using Mule Studio to read Data from PostgreSQL(Inbound) and write it to File (Outbound) - Step by Step approach

这似乎可行,但我的要求与给出的文章正好相反。我需要文件作为入站数据,而数据库作为出站组件。

这样做的方法是什么?

任何分步帮助(例如要使用的组件)和指导将不胜感激。

4

3 回答 3

11

这是一个插入两列 CSV 文件的示例:

<configuration>
    <expression-language autoResolveVariables="true">
        <import class="org.mule.util.StringUtils" />
        <import class="org.mule.util.ArrayUtils" />
    </expression-language>
</configuration>

<spring:beans>
    <spring:bean id="jdbcDataSource" class=" ... your data source ... " />
</spring:beans>

<jdbc:connector name="jdbcConnector" dataSource-ref="jdbcDataSource">
    <jdbc:query key="insertRow"
        value="insert into my_table(col1, col2) values(#[message.payload[0]],#[message.payload[1]])" />
</jdbc:connector>

<flow name="csvFileToDatabase">
    <file:inbound-endpoint path="/tmp/mule/inbox"
        pollingFrequency="5000" moveToDirectory="/tmp/mule/processed">
         <file:filename-wildcard-filter pattern="*.csv" />
    </file:inbound-endpoint>

    <!-- Load all file in RAM - won't work for big files! -->
    <file:file-to-string-transformer />
    <!-- Split each row, dropping the first one (header) -->
    <splitter
        expression="#[rows=StringUtils.split(message.payload, '\n\r');ArrayUtils.subarray(rows,1,rows.size())]" />
    <!-- Transform CSV row in array -->
    <expression-transformer expression="#[StringUtils.split(message.payload, ',')]" />
    <jdbc:outbound-endpoint queryKey="insertRow" />
</flow>
于 2012-12-18T00:08:00.057 回答
0

为了使用Mule读取CSV文件并将数据插入PostgreSQL ,您需要遵循以下步骤: 您需要具备以下条件作为先决条件

  • PostgreSQL
  • PostgreSQL JDBC 驱动程序
  • Anypoint Studio IDE 和
  • 要在 PostgreSQL 中创建的数据库

然后在 Studio 的 Global Element Properties 中配置 Postgre SQL JDBC Driver 在 Anypoint Studio 中创建 Mule Flow,如下所示:

  • 第 1 步:在 File 组件中包装 CSV 文件源
  • 第 2 步:在对象数组和字符串之间进行转换
  • 第 3 步:拆分每一行
  • 第 4 步:在数组中转换 CSV 行
  • 第 5 步:转储到目标数据库
于 2018-01-30T19:51:59.980 回答
-1

我想推荐Dataweave。

脚步

  1. 使用 FTP 连接器/端点读取文件。

  2. 使用数据编织进行转换。

  3. 使用数据库连接器,将数据存储在数据库中。

于 2016-06-07T04:51:36.760 回答