# DML组件常见问题归纳

来源快照：`result_data_new_260518.json`

- 来源 ID：`1230290117984280601`
- 模块：低代码平台e-builder
- 目录：常见问答 - 动作流
- space ID：`1157961794811633670`
- 原文链接：未提供
- 产品基线：未提供

## 正文

#### **问题1：如何实现  SQL语句中IN 查询**

##### **250701基线之前：**

例：sql语句如下  参数ids 需要拼接出   1,2,3这种格式  

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231806688151257094&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

需要将字段类型改为数字，然后设置一个默认值，模拟出实际完整sql

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231806735216623617&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

可以用如下两个函数将上下文中数组格式字段 转换成 逗号分隔形式

LISTTOSTRING ：  转换出来的会有单引号，适合数据库字符类型字段IN查询， 例 ‘1’,’2’

LISTTOSTRINGNOMARK : 转换出的不带单引号，适合数据库数字类型字段 IN 查询， 例 ：1,2

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231806833996496916&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

配置完如下：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231806872812150800&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

执行后效果：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231806928653549576&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

##### **250701基线之后：**

可以在sql视图中开启多选，动态赋值直接赋值 in条件对应的字段明细即可

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231806984378171403&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231807036001665027&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231807091849904134&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

#### **问题2：点击DML的设置按钮，提示：离线计算作业暂无权限，请联系管理员！**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231809067413045250&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**处理方案：** 需要给当前登录者在角色中开启 离线计算作业(增删改)  的权限

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231809595631288330&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

#### **问题3：获取DML组件上下文的数据，获取不到**

例如：下图中，获取不到DML组件返回的 doc.header text df 的数据

![](https://weapp.eteams.cn/papi/file/preview?fileId=1230291517957840906&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

** **

**处理方案：** 该DML的返回的：获取的DML值的字段带有点 . 导致，这种带 . 的和上下文取值的JSONPATH逻辑的关键字冲突，所以会导致去不到值，可以在DML里面对带点 . 的字段取个**别名** 即可

#### **问题4：DML组件写SQL语句一直报SQL解析异常，请检查SQL是否正确！**

问题场景1：写的SQL语句中嵌套函数，需要写like方式时，报错误，一般报错误时存在会写错的方式如下

![](https://weapp.eteams.cn/papi/file/preview?fileId=1230293360557531140&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**处理方案：** SQL语句中嵌套函数，需要写like语句时，书写方式如下：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1230293592645148677&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

#### **问题6：DML组件点击设置按钮，点击不了，F12显示红色的报错；在外网域名下会报错，但是在内网IP地址下正常**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1230295898834649093&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**处理方案：** 联系对应客户的网络安全人员排查，客户防火墙安全拦截导致

#### **问题7：同一个sql，在数据加工里面执行是正常的，换到动作流为什么就提示对象名 'employee' 无效**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1231808071038451721&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**处理方案：** 表名前面加#{local-eteams}，#{local-eteams}.表名

![](https://weapp.eteams.cn/papi/file/preview?fileId=1258579053170458633&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

#### **问题8：DML执行时，执行失败提示：No  update privilege on object [E10_COMMON.UF_SAPRYRZB]**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232601304093999112&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**处理方案：** 数据库权限控制，使用的用户没有这个表的更新权限[E10_COMMON.UF_SAPRYRZB]

#### **问题9：DML执行时，执行失败提示：类似 ERROR.pos 92,line4,column 59,toktn)**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232614597196406791&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**原因：** 动态赋值参数为空 导致sql 拼接内容缺失 因此导致语法错误

**处理方案：** 动态赋值参数不能为空

#### **问题10：DML执行时，执行失败提示：SQL解析异常，请检查SQL是否正确！**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232615885583466504&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**原因：** 数据加工文本类型会自动拼接单引号 ，文本类型再去拼接 会导致有双单引号存在  因此sql报错

**处理方案：** 去掉sql中单引号

#### **问题11：DML执行时，执行报错，提示：  "errmsg": "Unknown column 'ssxm' in 'where clause'"**

 **处理方案：** 检查DML写SQL语句的表中是否存在 ssxm 字段

#### **问题12：DML上下文显示一直加载中，F12显示403**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1245999428857118722&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**处理方案：** 客户服务器部署了 WAF拦截 工具，DML有SQL容易被误拦截，WAF加一下白名单
