SQL Server 如何使用Mule4 DB插入运算符将数组插入SQL表中的单个列

ct3nt3jp  于 2022-12-03  发布在  其他
关注(0)|答案(1)|浏览(162)

我正在尝试将数组插入SQL表中的单个列。该列的数据类型为varchar,但如果需要,我可以将其更改为任何其他类型。我正在使用DB单个插入操作符,在插入记录时,我在Mule中得到一个错误,说“不支持从UNKNOWN到VARCHAR的转换。"。看起来Mule中的SQL插入操作符无法识别数组类型,并且不知道如何处理它。下面是我需要插入的样本数据。payloqd之后的整个数组需要位于SQL表中的一列中

{ "payload":[
    {
        "Name":"JOhn",
        "StartDatetime": "2022-11-23 4:01:59.329",
        "EndDatetime":  "2022-11-23 4:01:59.329"

    },
    {
        "Name":"Jay",
        "StartDatetime": "2022-11-23 4:01:59.329",
        "EndDatetime":  "2022-11-23 4:01:59.329"
    },
    {
        "Name":"Boo",
        "StartDatetime": "2022-11-23 4:01:59.329",
        "EndDatetime":  "2022-11-23 4:01:59.329"
    }

]}

我尝试在SQL Studio Management中执行简单的插入操作,我能够将整个数组插入列中,但在Mulesoft中似乎不起作用。

3bygqnnd

3bygqnnd1#

正如@HarshankBansal提到的,你不能将数组存储在字符串中。但是你可以将数组转换为字符串。例如,将JSON数组存储为字符串。你可以使用write()函数将值“打印”到字符串中。write()的输出是第二个参数中指定格式的字符串。
示例:

write(payload.payload, "application/json")

相关问题