TDengine 支持的单条 SQL 最大长度为 1MB(1,048,576 字符)。但是BLOB类型支持存储4M的数据,那要怎么插入sql超过1M的数据

【TDengine 使用环境】
测试环境

【TDengine 版本】

3.8.8.0

【操作系统以及版本】

linux

【部署方式】容器

【集群节点数】

【集群副本数】

【描述业务影响】

【问题复现路径/shan】做过哪些操作出现的问题

【遇到的问题:问题现象及影响】

我使用java开发,将json转为字符串,获取其bytes数组存储到blob类型的字段中,我的数据超过了1M,导致sql过长,插入不进去,看官网TDengine 支持的单条 SQL 最大长度为 1MB(1,048,576 字符),但是BLOB类型支持存储4M的数据,如果我需要插入1MB以上的数据,要怎么操作

【资源配置】

【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)

String data = msg.getData() == null ? "{}" : JsonUtils.toJsonString(msg.getData()).replace("\"", "\\\"");
try (Connection conn = Objects.requireNonNull(tdTemplate.getDataSource()).getConnection();
     PreparedStatement ps = conn.prepareStatement(sql)){
    ps.setBytes(9,data.getBytes(StandardCharsets.UTF_8)); 
    ps.setLong(10, msg.getTime());

    ps.execute();
} catch (SQLException e) {
    log.error(e.toString());
}

使用的jdbc连接器:
<dependency>
     <groupId>com.taosdata.jdbc</groupId>
     <artifactId>taos-jdbcdriver</artifactId>
     <version>3.7.8</version>
</dependency>

使用的 jdbc 连接器版本是哪个?

jdbc 连接器版本 从 3.7.1 才开始支持 blob 数据类型。

<dependency>
    <groupId>com.taosdata.jdbc</groupId>
    <artifactId>taos-jdbcdriver</artifactId>
    <version>3.7.8</version>
</dependency>

你可以用参数绑定方式写入,sql 应该也可以写入 blob,使用 ‘\x393866343633‘ 格式。

我使用的就是参数绑定写入,传入的数据是string.getBytes()