gpt4 book ai didi

mule - 如何使用 Mule ESB、Mule Studio 读取 CSV 文件并将数据插入 PostgreSQL

转载 作者:行者123 更新时间:2023-12-04 01:04:23 30 4
gpt4 key购买 nike

我对 Mule Studio 很陌生。

我正面临一个问题。我需要使用 Mule Studio 将数据从 CSV 文件插入到 PostgreSQL 数据库。

我正在使用 Mule Studio CE(版本:1.3.1)。我在 Google 上查了一下,发现我们可以使用 Data-mapper 来做到这一点。但它仅适用于 EE。所以我不能使用它。

我也在网上查了一下,发现一篇文章Using Mule Studio to read Data from PostgreSQL(Inbound) and write it to File (Outbound) - Step by Step approach .

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

这样做的方法是什么?

任何一步一步的帮助(比如使用什么组件)和指导将不胜感激。

最佳答案

这是一个插入两列 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>

关于mule - 如何使用 Mule ESB、Mule Studio 读取 CSV 文件并将数据插入 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13911296/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com