gpt4 book ai didi

mysql - 将文件插入 mysql db MuleESB enterprise

转载 作者:行者123 更新时间:2023-11-29 00:11:32 25 4
gpt4 key购买 nike

我需要将 .csv 文件插入到 MYSQL 数据库中。网络上的所有示例,给我“已弃用的数据库”,然后没有解决方案!

HTML 入站端点是使用 postman 插件 (chrome) 发送 csv 文件。运行应用程序时,控制台显示此警告:

org.mule.routing.ExpressionSplitter: Splitter returned no results. If this is not expected, please check your split expression

即使我在字节数组到字符串之后添加一个拆分器,并且表达式是#[xpath('//item')],它仍然显示相同的警告!

我有 MuleESB 企业版。所有与数据库的连接都是正确的。

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:jdbc-ee="http://www...
<db:mysql-config name="MySQL_Configuration" host="localhost"
port="3306" database="dbflow"
doc:name="MySQL Configuration" user="root"/>
<data-mapper:config name="CSV_To_XML" transformationGraphPath="csv_to_xml.grf" doc:name="CSV_To_XML"/>
<jdbc-ee:mysql-data-source name="MySQL_Data_Source" user="User" password="Pass" url="jdbc:mysql://localhost:3306/dbflow" transactionIsolation="UNSPECIFIED" doc:name="MySQL Data Source"/>
<jdbc-ee:connector name="Database" dataSource-ref="MySQL_Data_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database"/>
<flow name="dbFlow1" doc:name="dbFlow1">
<http:inbound-endpoint exchange-pattern="one-way" host="localhost" port="8084" path="csv" doc:name="HTTP"/>
<data-mapper:transform config-ref="CSV_To_XML" doc:name="CSV To XML"/>
<byte-array-to-string-transformer doc:name="Byte Array to String"/>

<foreach collection="#[xpath('//info')]" doc:name="For Each">
<mulexml:dom-to-xml-transformer doc:name="DOM to XML"/>
<db:insert config-ref="MySQL_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[INSERT INTO `dbflow`.`user_table`
(`current_date`,
`serialnumber`,
`gender`,
`fullname`,
`birthdate`,
`email`,
`mobilnumber`,
`address`)
VALUES
(#[xpath://date],
#[xpath://serialnumber],
#[xpath://gender],
#[xpath://fullname],
#[xpath://birthdate],
#[xpath://email],
#[xpath://mobilenumber],
#[xpath://address]
);]]></db:parameterized-query>

</db:insert>

</foreach>

</flow>
</mule>

最佳答案

从讨论来看,核心问题似乎是 HTTP POST 内容最终会生成此 XML:

<?xml version="1.0" encoding="UTF-8"?>
<infos/>

这解释了为什么 for-each 不产生任何东西。

解决方案包括 HTTP POSTing 一个有效的非空 CSV 实体。

关于mysql - 将文件插入 mysql db MuleESB enterprise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24852788/

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