如何使用DataWeave将JSON转换为BLOB并写入Oracle数据库?
解决MuleSoft DataWeave将JSON转BLOB插入Oracle时的「Invalid Column Type」错误
你的问题出在错误地将二进制数据转成了十六进制字符串——Oracle的BLOB字段要求接收原始二进制流,而你用toHex(t)把序列化后的JSON二进制数据转换成了字符串类型,这就导致了字段类型不匹配的报错。
修正后的DataWeave代码
直接返回JSON序列化后的二进制数据即可,不需要额外转十六进制:
%dw 2.0 import * from dw::core::Binaries output application/octet-stream --- write(payload, "application/json")
额外检查项
- 确认Oracle数据库中目标字段的类型确实是
BLOB,而非CLOB或VARCHAR2 - 在Mule Database连接器的插入配置中,将对应字段的参数类型指定为
BLOB,避免默认的字符串类型绑定
内容的提问来源于stack exchange,提问作者veejay
相关产品推荐
相关产品推荐

