历史版本9 :同步/导入用户常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文介绍 同步用户 时一些注意事项及报错。

2. 次管无法添加/导入用户编辑

次级管理员在部分情况下无法添加用户,详情如下表所示:

JAR包
用户来源现象
 2020-01-15 到 2020-11-05未同步用户

次级管理员只可见「添加用户」、「导入用户」按钮,不可见「同步用户」按钮

开启了同步用户

次级管理员不可见「添加用户」、「导入用户」、「同步用户管理」按钮,即用户列表上方无按钮
2020-11-05及以后未同步用户

次级管理员只可见「添加用户」、「导入用户」按钮,不可见「同步用户」按钮


开启了同步用户
次级管理员只可见「添加用户」、「导入用户」按钮,不可见「同步用户管理」按钮

image.png

3. 同步数据集字段不可选编辑

问题描述:

创建的服务器数据集可以预览,但是在使用该数据集同步/导入用户时,没有字段可选,如下图所示:

image.png

原因分析&解决思路:

查看日志,发现报错:SQL ServerException:对象名' '无效。

检查数据集的创建方式,例如存储过程类的服务器数据集,嵌套之后 SQL 执行失败。

image.png

4. 同步结果面板报错编辑

配置了 ID 列后会进行一些 ID 校验以防入库时冲突。此时出错的数据也会列在结果面板中。下面罗列报错情况。

4.1 ID 为空

报错信息如下图所示:

原因:勾选了 id 后,不允许出现 name 不为空,但是 id 为空的情况。如下图所示:

4.2 与原有 ID 冲突

报错信息如下图所示:

原因:勾选 ID 之后更改用户名,但是不允许更改 ID,否则会报 ID 冲突的错误,比如原本 Alice 的 id 为 3,现在变动成 2 。

4.3 ID 与其他对象重复

报错信息如下图所示:

原因:如下图所示,多个用户名使用了一个 id 时报错。

4.4 对应多个 ID

报错信息如下图所示:

原因:如下图所示,当一个用户名却有多个 id 时报此错。

5. 树数据集构建失败编辑

当同步数据集为树数据集时,往往会因为树数据集构建问题导致同步失败,下面列举各种情况:

注:名词解释

  • 部门标记:构建树数据集时选择的原始标记字段。

  • 父部门标记:构建树数据集时选择的父标记字段。

5.1 21300055-报表、DEC交互原始标记相同

报错信息「报表、DEC交互原始标记相同」,如下图所示:

1603957312138971.png

原因:树数据集下,多个部门都用了一个部门标记,比如下图中 DEC 交互,报表的 did 都为 a12。如下图所示:

image.png

5.2 21300056-报表有多个直接父部门

报错信息「报表有多个直接父部门」,如下图所示:

1603957349892466.png

原因:一个部门有多个父部门标记,比如下图中报表的 pid 有 a1,a2。

image.png

5.3 21300057-决策平台找不到对应父部门

报错信息「树构建失败,决策平台找不到对应父部门」,如下图所示:

1603957375900731.png

原因:如果父部门标记为空,那么此部门就是根部门,如果不为空,且父部门标记找不到对应的部门,则报错。

如下图所示,决策平台的 pid 为 a3,但是没有任何部门的 did 为 a3,也即没有该父部门:

注:同步用户数据集时,若服务器数据集为 树数据集 ,顶层机构的父机构应为空值。

image.png

5.4 21300058-报表有多个原始标记

报错信息「报表有多个原始标记」,如下图所示:

1603957439837960.png

原因:如果部门名相同,且父部门标记相同,那么说明这就是同一个部门,如果他们的部门标记不同,则报错,如下图中报表的 did 有两个:a13,a12。

image.png

5.5 21300059-父子结构死循环

报错信息「决策报表,帆软软件,DEC研发构成父子结构死循环」,如下图所示:

1603957503617079.png

原因:如果部门 111 的父标记指向部门 11 ,部门 11 的父标记指向部门 1 ,部门 1 的父标记又指向部门 111 ,构成了环,则报错。

如下图中帆软软件的父标记为 a111,指向 DEC 研发,决策平台的 pid 为 a1,指向帆软软件,DEC 研发的 pid 为 a11,指向决策平台。

image.png

5.6 21300063-名称与其他来源对象重复

报错信息「名称与其他来源对象重复」,如下图所示:

1605166347929235.png

原因:导入树数据集的部门中存在和同步部门重复的数据,如先同步了树数据集 A,再导入树数据集 A 则会出现此报错。

5.7 21300064-ID与其他来源对象重复

报错信息「ID与其他来源对象重复」,如下图所示:

1605166444746842.png

原因:平台有内置部门2,首次同步一树数据集,选择保留权限更新,数据源中一同步部门1和内置部门2的ID相同,但名称不同,同步后会报错。

6. ID 校验失败编辑

树数据集情况下,如果还勾选了部门 id,且部门 id 列并非部门标记列,还会做 id 校验工作,会导致全局失败。以下所有示例中部门标记列为 did,父部门标记列为 pid,部门 id 列为 depId。

6.1 21300054-部门标记值与部门ID不一致

报错信息「部门标记值与部门ID不一致」,如下图所示:

注:2020-08-03 及之后的 JAR ,该错误码将不会出现。

1603957895320224.png

原因:如果部门标记为纯数字,比如 11,111,会直接作为 id 项插入到 finedb 的部门表中,此时如果平台又勾选了其他列作为部门 id,且部门标记值和勾选的部门 id 不一样,则报错。建议当数据源当部门标记为纯数字时,使用 sql 语句的字符串拼接一个英文字母。

image.png

6.2 21300053-ID为空

报错信息「ID为空」,如下图所示:

1603958020506195.png

原因:树数据集情况下,勾选部门 id 后如果部门 id 为空,则直接全局报错。如下图所示:

6.3 21300051-报表ID与其他对象重复

报错信息「报表ID与其他对象重复」,如下图所示:

1603958092257665.png

原因:帆软软件-报表,与帆软软件-决策平台使用了相同的部门 id。如下图所示:

6.4 21300050-报表对应多个ID

报错信息「报表对应多个ID」如下图所示:

1603958166405392.png

原因:当部门存在多个部门 id 时会报此错,如上图中帆软软件-报表有 a12,a15 两个部门 id。如下图所示:

6.5 21300052-决策平台和原有ID冲突

报错信息「决策平台和原有ID冲突」,如下图所示:

注:2020-06-08 及之后的 JAR ,该错误码将不会出现。

1603958217805605.png

原因:部门 id 发生改变了,会报错与原有部门 id 冲突