【发布时间】:2021-11-20 23:59:35
【问题描述】:
Mule 4 App 一直在从大约 20k 行的 SQL Server 数据库中进行选择,并将结果集转换为管道分隔的 csv 文件,并使用 s3 连接器将文件推送到 s3。
在数据库中,我们有aId, bId, cId等列。当我们检查csv文件中的数据时,aId的值是bId的实际值,bId的值是@的实际值987654325@ 在数据库中。 (只有几个地方)
<db:select doc:name="Select" doc:id="e8d1eda4-3ecc-48e9-90ea-a19a0a4e20f9" config-ref="MSSQL_Database_Config">
<db:sql >#['SELECT * FROM Table']</db:sql>
</db:select>
<ee:transform doc:name="Set Payload" doc:id="9b7e5bcc-e61b-427d-8507-8655db76cb83">
<ee:message>
<ee:set-payload><![CDATA[%dw 2.0
output application/csv separator='|'
---
payload]]></ee:set-payload>
</ee:message>
</ee:transform>
<s3:create-object doc:name="Create object" doc:id="beea8757-7e69-4119-8529-e0c26be08b65" config-ref="Amazon_S3_Configuration" bucketName="bucket1" key="file123"/>
我们仔细检查了数据库的值,它以某种方式确认了 mule 正在改变列值的顺序(几个地方)
例如,在数据库中,aId bId cId 的值类似于 1、2、3
在 CSV 文件中,aId|bId|cId 的值为 2,3,1(在少数地方)
我没有在 db connector/aws 流中配置任何额外的东西,都是默认的。我需要启用什么来解决此问题。
提前致谢
【问题讨论】:
-
你的意思是
1|2|3和2|1|3吗? -
您使用的是什么版本的 Mule 4,安装了哪些补丁?什么版本的 MS SQL 驱动程序和 DB 连接器?这些例子是真实数据吗?请分享实际数据,看看是否有任何特殊字符可能导致问题。
-
是的,它的 mule 4 应用程序
-
请完整查看我的 cmets。如果是 Mule 4.1.1 和 4.3.0 是不一样的。与应用的补丁、连接器版本等相同。
-
感谢您帮助我。很抱歉没有提供详细信息。云集线器 Mule 运行时 4.3.0。(未应用补丁) DB 连接器:1.8.2 S3 连接器:5.7.1 MS SQL:7.4.1.jre8。 Dara 看起来 XACF123F,YARF234,REAFYED123RERWDFSDSF(无特殊字符)。