1. 概述编辑
本文介绍 同步用户数据集 时一些注意事项及报错。
2. 次管无法添加/导入用户编辑
JAR 包为 2020-01-15及之后的 FineBI ,同步状态下次级管理员(以 Jack 为例)登录数据决策系统,点击「管理系统>用户管理>所有用户」,页面中无「添加用户」和「导入用户」的按钮,即不能手动添加、导入用户。
如下图所示:
注:次级管理员的设置及「用户管理」模块的授权请参考 根据用户分配权限示例
3. 具体报错及原因编辑
3.1 结果面板报错
配置了 ID 列后会进行一些 ID 校验以防入库时冲突。此时出错的数据也会列在结果面板中。下面罗列报错情况。
3.1.1 ID 为空
报错信息如下图所示:
原因:如下图,勾选了 id 后,不允许出现 name 不为空,但是 id 为空的情况。
3.1.2 与原有 ID 冲突
报错信息如下图所示:
原因:勾选 ID 之后更改用户名,但是不允许更改 ID,否则会报 ID 冲突的错误,比如原本 Alice 的 id 为3,现在变动成 2 。
3.1.3 ID 与其他对象重复
报错信息如下图所示:
原因:如下图,多个用户名使用了一个 id 时报错。
3.1.4 对应多个 ID
报错信息如下图所示:
原因:如下图,当一个用户名却有多个 id 时报此错。
3.2 名词解释
部门标记:构建树数据集时选择的原始标记字段。
父部门标记:构建树数据集时选择的父标记字段。
3.3 树数据集构建失败
当同步数据集为树数据集时,往往会因为树数据集构建问题导致同步失败,下面列举各种情况:
3.3.1 错误码:21300055
报错信息如下图所示:
原因:树数据集下,多个部门都用了一个部门标记,比如下图中 DEC 交互,报表的 did 都为 a12。如下图所示:
3.3.2 错误码:21300056
报错信息如下图所示:
原因:一个部门有多个父部门标记,比如下图中报表的 pid 有 a1,a2,如下图所示:
3.3.3 错误码:21300057
报错信息如下图所示:
原因:如果父部门标记为空,那么此部门就是根部门,如果不为空,且父部门标记找不到对应的部门,则报错。如下图中决策平台的 pid 为 a3,但是没有任何部门的 did 为 a3,也即没有该父部门,如下图所示:
注:同步用户数据集时,若服务器数据集为 树数据集 ,顶层机构的父机构应为空值。
3.3.4 错误码:21300058
报错信息如下图所示:
原因:如果部门名相同,且父部门标记相同,那么说明这就是同一个部门,如果他们的部门标记不同,则报错,如下图中报表的 did 有两个:a13,a12。
3.3.5 错误码:21300059
报错信息如下图所示:
原因:如果部门111的父标记指向部门11 ,部门11的父标记指向部门1 ,部门1的父标记又指向部门111,构成了环,则报错。
如下图中帆软软件的父标记为 a111 ,指向 DEC 研发,决策平台的 pid 为 a1,指向帆软软件,DEC 研发的 pid 为 a11,指向决策平台,如下图所示:
3.4 ID 校验失败
树数据集情况下,如果还勾选了部门 id,且部门 id 列并非部门标记列,还会做 id 校验工作,会导致全局失败。以下所有示例中部门标记列为 did,父部门标记列为 pid,部门 id 列为 depId。
3.4.1 错误码:21300054
报错信息如下图所示:
注:2020-08-04 及之后的 JAR ,该错误码将不会出现。
原因:如果部门标记为纯数字,比如11,111,会直接作为 id 项插入到 finedb 的部门表中,此时如果平台又勾选了其他列作为部门 id,且部门标记值和勾选的部门 id 不一样,则报错。建议当数据源当部门标记为纯数字时,使用sql语句的字符串拼接一个英文字母,如下图所示:
3.4.2 错误码:21300053
报错信息如下图所示:
原因:树数据集情况下,勾选部门 id 后如果部门 id 为空,则直接全局报错。
3.4.3 错误码:21300051
报错信息如下图所示:
原因:帆软软件/报表,与帆软软件/决策平台使用了相同的部门 id,如下图所示:
3.4.4 错误码:21300050
报错信息如下图所示:
原因:当部门存在多个部门 id 时会报此错,如下图中帆软软件/报表有 a12,a15 两个部门 id。
3.4.5 错误码:21300052
报错信息如下图所示:
注:2020-08-04 及之后的 JAR ,该错误码将不会出现。
原因:部门 id 发生改变了,会报错与原有部门 id 冲突。