1、中枢“平台配置”看不到“菜单管理”,实现人员需要配置菜单。

原因:
菜单管理不需要给用户看到,防止修改不慎,导致系统使用异常。一般情况是由公司的研发或实施人员设置好才可交付使用。
解决:
1、先登录中枢平台。
2、在浏览器地址栏输入以下地址:
IP地址:端口号/#/system/menu/index?pass=wintime
例如:192.168.8.49:8484/#/system/menu/index?pass=wintime

2、中枢“数据资源”模块,有时侯数据源可以连上,但中枢此时却显示“掉线”。

原因:
有些数据源不稳定,会掉线,此时数据源就不可用。中枢每隔30分钟会扫描一次数据源,如果能再次连接上,就自动置为可用。但是有30分钟的等待期。
解决:
通过特殊的维护接口,重新设置数据源的有效性。
192.168.8.49:8484/datasource/flashDataSource?dataSourceId=2&isValidated=true
参数说明:dataSourceId 数据源ID,isValidated 是否可用。

注意:只有超级管理员登录后方可调用这个接口。

3、数据源不能用,如何恢复使用?

原因:
数据源不能用,有两种情况,一是无法连接,二是人为设置它为禁用
dat_source数据源表,status字段表示状态(0:失效 1:正常 -1:人为设置禁用)
在中枢的数据源列表界面,只会显示状态为0和1的数据源列表,人为禁用的数据源是不显示的。
0和1,表示数据源是否能连接的客观状态,无论当前是否掉线,在平台启动,都要进行初始化。
-1 表示人为设置为禁用,在平台启动时,不会初始化。
解决:
1、为了节约资源保证性能,平台每30分钟扫描一次数据源的状态,且只扫描状态0和1的数据源记录,并会定时更新实际状态。
2、如果某个数据源能用,但目前status为0,可直接修改为1进行启用。
3、如果是被禁用的数据源,状态原来为-1,现在要启动,有两种方式
(1)需调用接口实现:192.168.8.49:8484/datasource/flashDataSource?dataSourceId=2&isValidated=true&token=**
(2)将status置为1,重新启动中枢平台,让平台启动时初始化。

4、MySQL数据源建立时连接正常,但是在数据源管理模块中,报数据源被删除(数据源未被初始化)。

原因:
hikari数据源,MYSQL5及以上版本,如果安装时开通ssl,数据库连接url一定要加上,useSSL=true
数据源新建模块中,检测连测用的是spring jdbc驱动,但数据源管理模块中用的是hikari数据源。
解决:
数据库连接url一定要加上 useSSL=true,或useSSL=false也可,显式设置不用

5、特殊场景下的用户验证,如数字大屏应用。发现token没有或不可用。

原因:
特殊token,模拟登录,需要在浏览器地址栏中输入链接登录一下。模拟登录后,才在管理库和redis中产生凭证。redis重启后,需要再次模拟登录。
解决:
http://localhost:8484/ssl?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyTmFtZSI6IlNTTExvZ2luX2FkbWluIiwidXNlcklkIjoiMjc0IiwiaWF0IjoxNjE0OTA2MTI3fQ.1-h4_1FL2Xoy1o7WlDH3dXQEFrBOayI88xk4pXx0Gf8

6、mysql业务库,sql执行出现中文转码解析错误。

原因:
mysql作为业务库的情况下,sql语句中如果用中文作为字段名或表名(含别名),sql执行出现中文转码解析错误,是因为数据库的字符集编码方式不确定,这取决于安装时的设置。所以,在使用时要指定正确的字符集编码方式。否则在使用JDBC执行sql会报错。
解决:
在dat_source表的url_info字段中,数据库连接字符串的“数据库名称”后面加上相关后缀,指定编码方式 characterEncoding=UTF-8
例子:
jdbc:mysql://192.168.8.49:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8

7、清册中的时间筛选条件查询异常(该时间字段原生类型并不是DateTime类型,而是字符串类型,是在建模中将它设置DateTime类型)

原因:
原生类型不是时间的字段,在建模中配置为时间类型,需要在业务库中加上时间处理函数,目的是要将字符串时间格式化为“标准通用的时间格式”。
解决:
在相关业务库中加上时间处理函数(研发人员提供)。

8、“数据报送”的汇总统计表报错。

原因:
sql查询字段中出现了“不属于分组”的字段,会报错。
MySQL的查询语句默认兼容性是很好的,非group by中的字段可以出现在select字段中。但数据库的sql_mode如果设置不对,就会出现不兼容的情况,特别注意在Linux下安装的MySQL数据库。
解决:
查询sql_mode:select @@GLOBAL.sql_mode
设置sql_mode,在安装目录下,打开my.cnf,在sql_mode节点中,去除ONLY_FULL_GROUP_BY

9、Kettle日志不生效,执行任务的计数不生效

原因:
“Kettle_Database”数据源没有加,Kettle库本身的数据源没有添加,Kettle就无法操作本身的任务。
解决:
在Kettle库中的 r_database 表中,添加Kettle库本身的数据源
ID_DATABASE为0,NAME为Kettle_Database,这个为强制固定名称。
其余属性依据实际环境配置。

10、Kettle自身管理库,连接失败

原因:
“Kettle_Database”数据源已存在,但配置错误,不是当前数据库服务器的配置。
解决:
Kettle管理库一定要配置正确,数据库密码加密设置。

11、Kettlet自身管理库,初始化失败。可以保存作业,但无法运行。

原因:
kettle 7.1 jar包,自带管理库初始化类,防止数据库表名出现区分大小写的情况!
MySQL在windows下默认不区分大小写,在Linux下,会默认区分。
MySQL在Linux下数据库名、表名、列名、别名大小写规则:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的。
解决:
管理库(MySQL),一定要设置成“表名不区分大小写”。
lower_case_table_names=1
查看MySQL是否区分大小写:
使用 show Variables like ‘%table_names’ 查看lower_case_table_names的值,0代表区分,1代表不区分。

12、达梦库:对达梦自增列赋值报错

原因:
默情况下,达梦不允许对自增列赋值
解决:
插入sql执行前,先执行 SET IDENTITY_INSERT 表名 on

13、达梦库:连接数过小

原因:
需要设置最大连接数
解决:
1、设置最大连接数:ALTER SYSTEM SET ‘MAX_SESSIONS’ =3000 spfile
2、重启达梦库
3、验证结果:select SF_GET_PARA_VALUE(2,’MAX_SESSIONS’);

14、达梦库:SQL中的除法计算,小数位消失。

原因:
达梦库默认是:除法结果去除小数
解决:
1、设置除法保留小数: sp_set_para_value(2,’CALC_AS_DECIMAL’,1);
2、重启达梦库

15、达梦库:clob字段,java中的实体用String与之映射,会报错!

原因:
1、原MySQL迁移到达梦库,text会自动转为clob类型。
2、达梦库中clob字段超过4000长度,就不能在mybatis-plus中映射成String类型,会报错。因此要改为LONGVARCHAR。
解决:
改为 LONGVARCHAR。

16、系统报错库中少了某个大写字母的表

原因:
问题同上文11,由于MYSQL库在Linux下,会默认区分大小写,所以不识别库中的小写表名
解决:
管理库(MySQL),一定要设置成“表名不区分大小写”。
lower_case_table_names=1
查看MySQL是否区分大小写:
使用 show Variables like ‘%table_names’ 查看lower_case_table_names的值,0代表区分,1代表不区分。