我正在尝试在批处理后将批量数据插入mssql。
以下是Mule4中大容量插入组件的输入:[ { "schemaId": 311, "createDT": "2019-04-29 04:22:51.535", "jsonData": { "Employee Name": "Becky Forgey" } }, { "schemaId": 311, "createDT": "2019-04-29 04:22:51.536", "jsonData": { "Employee Name": "sahana" } } ]数据库查询为:
INSERT INTO [test].[dbo].[EmployeeData] (SchemaID,CreateDatetime,JsonData) VALUES (:schemaId,:createDT,:jsonData)入参为payload。
如果我为jsonData发送一个字符串值,它是插入的,但是batch result由多个记录组成,并且我将它映射到dataweave中。
如果我尝试在json上面插入,会出现下面的错误:
Message : The conversion from UNKNOWN to NVARCHAR is unsupported.
Error type : DB:QUERY_EXECUTION
Element : test-mapFlow/processors/5 @ test-map:test-map.xml:41 (Bulk insert)
Element XML : <db:bulk-insert doc:name="Bulk insert" doc:id="98f8b9a0-b3d2-4beb-a31c-9f76af7f1447" config-ref="Database_Config">
<db:sql>INSERT INTO [rq].[dbo].[EmployeeMasterData] (SchemaID,CreateDatetime,JsonData) VALUES (:schemaId,:createDT,:jsonData)</db:sql>
</db:bulk-insert>请指点
发布于 2020-04-08 21:43:11
请提供完整的脚本,您如何为SQL呈现数据。通常它在你的值和SQL值之间有映射。如果没有它,我只能猜测,我的猜测是,ir应该是jsonData,而不是jsonData。
另一种猜测-如果没有适当的日志记录我无法确认- jsonData是不存在的。为避免此类问题,应为每个参数提供默认值。
一般来说,尽量避免多个转换,或者尽可能在一个平台上进行转换https://simpleflatservice.com/mule4/AvoidCoversionsOrMakeThemNative.html
https://stackoverflow.com/questions/55899518
复制相似问题