页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

迁移操作会覆盖目标环境的知识库。因此,在迁移前,请务必备份目标环境的知识库。后续若需恢复目标环境,可通过备份文件进行操作。
备份知识库功能请参考:备份知识库



二、

...

核对源环境与目标环境知识库库信息

核对内容备注
表数据大小写策略

强烈建议两个环境表数据大小写策略保持一致,否则易导致迁移失败。

注意
title注意

若源环境知识库表数据区分大小写,则目标环境知识库表数据也必须区分大小写!


数据库字符集

Smartbi系统创建表时,并未在建表语句中指定字符集,而是使用数据库默认字符集。若源环境与目标环境知识库字符集不一致,容易出现问题。

例如源环境知识库字符集为UTF-8,目标环境知识库字符集为GBK,通常都会恢复失败。

表名大小写策略是否一致建议源与目标环境数据库的表名大小写策略一致。例如,源环境为大小写敏感,目标环境也应设置为大小写敏感。建议源环境与目标环境数据库的表名大小写策略一致。例如,源环境为大小写敏感,目标环境也应设置为大小写敏感。
列名大小写策略是否一致与表名大小写策略同理,建议源与目标环境数据库的列名大小写策略保持一致。与表名大小写策略同理,建议源环境与目标环境数据库的列名大小写策略保持一致。


典型案例

某项目源环境为 MySQL(表数据大小写敏感),目标环境为达梦 8(表数据大小写不敏感)。源环境备份恢复到目标环境时失败,提示 “违反表 [t_parameter] 唯一性约束条件”。

经排查,源环境中某数据源创建了 ProName 和 proname 两个参数,生成的 ID 分别为 PARAM. 数据源名称.ProName 和 PARAM. 数据源名称.proname。因源环境区分大小写,两者可正常保存。但在达梦 8(不区分大小写)中,系统识别两者主键相同,产生冲突。
在本案例中,解决方案有如下两种:

1 推荐:修改目标环境知识库为表数据大小写敏感。:修改目标环境知识库为表数据大小写敏感,再重新恢复知识库。

2.不推荐 ​:在备份文件 backup.zip 中找到 t_parameter 表对应的 xml 文件,使用文本编辑器打开,搜索并修改参数的 ID 和名称(如将 “proname” 改为 “proname2”),即通过修改xml的方式,将参数proname的ID和名称修改为 “proname2”)。即通过修改xml的方式,将参数proname的ID和名称修改为 PARAM.数据源名称.proname2 和 proname2。将修改后的文件覆盖原 xml 文件后重新恢复。

但此方法存在风险:修改过程易出错;无法保证相关表同步修改;且对于业务数据库中同名但大小写不同的表或字段,无法处理,如业务数据库为 但此方法存在风险:修改过程易出错;无法保证关联的其他表同步修改;且对于业务数据库中同名但大小写不同的表或字段,无法处理,如业务数据库为 Mysql区分大小写,存在表 Orders 和表 order,当出现本案例中的问题时,无法直接修改表的名称为其他名称,这种修改方式会导致表名不正确。

...