1. 概述编辑
本文介绍 同步用户 时一些注意事项及报错。
2. 次管无法添加/导入用户编辑
JAR 包时间为 2020-01-15 到 2020-11-03 之间的数据决策系统,当系统开启了同步用户后,不支持次级管理员「添加用户」和「导入用户」。
3. 同步结果面板报错编辑
配置了 ID 列后会进行一些 ID 校验以防入库时冲突。此时出错的数据也会列在结果面板中。下面罗列报错情况。
3.1 ID 为空
报错信息如下图所示:
原因:勾选了 id 后,不允许出现 name 不为空,但是 id 为空的情况。如下图所示:
3.2 与原有 ID 冲突
报错信息如下图所示:
原因:勾选 ID 之后更改用户名,但是不允许更改 ID,否则会报 ID 冲突的错误,比如原本 Alice 的 id 为 3,现在变动成 2 。
3.3 ID 与其他对象重复
报错信息如下图所示:
原因:如下图所示,多个用户名使用了一个 id 时报错。
3.4 对应多个 ID
报错信息如下图所示:
原因:如下图所示,当一个用户名却有多个 id 时报此错。
4. 树数据集构建失败编辑
当同步数据集为树数据集时,往往会因为树数据集构建问题导致同步失败,下面列举各种情况:
注:名词解释
部门标记:构建树数据集时选择的原始标记字段。
父部门标记:构建树数据集时选择的父标记字段。
4.1 21300055-报表、DEC交互原始标记相同
报错信息「报表、DEC交互原始标记相同」,如下图所示:
原因:树数据集下,多个部门都用了一个部门标记,比如下图中 DEC 交互,报表的 did 都为 a12。如下图所示:
4.2 21300056-报表有多个直接父部门
报错信息「报表有多个直接父部门」,如下图所示:
原因:一个部门有多个父部门标记,比如下图中报表的 pid 有 a1,a2。
4.3 21300057-决策平台找不到对应父部门
报错信息「树构建失败,决策平台找不到对应父部门」,如下图所示:
原因:如果父部门标记为空,那么此部门就是根部门,如果不为空,且父部门标记找不到对应的部门,则报错。
如下图所示,决策平台的 pid 为 a3,但是没有任何部门的 did 为 a3,也即没有该父部门:
注:同步用户数据集时,若服务器数据集为 树数据集 ,顶层机构的父机构应为空值。
4.4 21300058-报表有多个原始标记
报错信息「报表有多个原始标记」,如下图所示:
原因:如果部门名相同,且父部门标记相同,那么说明这就是同一个部门,如果他们的部门标记不同,则报错,如下图中报表的 did 有两个:a13,a12。
4.5 21300059-父子结构死循环
报错信息「决策报表,帆软软件,DEC研发构成父子结构死循环」,如下图所示:
原因:如果部门 111 的父标记指向部门 11 ,部门 11 的父标记指向部门 1 ,部门 1 的父标记又指向部门 111 ,构成了环,则报错。
如下图中帆软软件的父标记为 a111,指向 DEC 研发,决策平台的 pid 为 a1,指向帆软软件,DEC 研发的 pid 为 a11,指向决策平台。
5. ID 校验失败编辑
树数据集情况下,如果还勾选了部门 id,且部门 id 列并非部门标记列,还会做 id 校验工作,会导致全局失败。以下所有示例中部门标记列为 did,父部门标记列为 pid,部门 id 列为 depId。
5.1 21300054-部门标记值与部门ID不一致
报错信息「部门标记值与部门ID不一致」,如下图所示:
注:2020-08-03 及之后的 JAR ,该错误码将不会出现。
原因:如果部门标记为纯数字,比如 11,111,会直接作为 id 项插入到 finedb 的部门表中,此时如果平台又勾选了其他列作为部门 id,且部门标记值和勾选的部门 id 不一样,则报错。建议当数据源当部门标记为纯数字时,使用 sql 语句的字符串拼接一个英文字母。
5.2 21300053-ID为空
报错信息「ID为空」,如下图所示:
原因:树数据集情况下,勾选部门 id 后如果部门 id 为空,则直接全局报错。如下图所示:
5.3 21300051-报表ID与其他对象重复
报错信息「报表ID与其他对象重复」,如下图所示:
原因:帆软软件-报表,与帆软软件-决策平台使用了相同的部门 id。如下图所示:
5.4 21300050-报表对应多个ID
报错信息「报表对应多个ID」如下图所示:
原因:当部门存在多个部门 id 时会报此错,如上图中帆软软件-报表有 a12,a15 两个部门 id。如下图所示:
5.5 21300052-决策平台和原有ID冲突
报错信息「决策平台和原有ID冲突」,如下图所示:
注:2020-06-08 及之后的 JAR ,该错误码将不会出现。
原因:部门 id 发生改变了,会报错与原有部门 id 冲突