(此文档仅供参考)
问题
...
因用户使用需要,想要将smartbi的知识库用mysql8数据库,但实际mysql8驱动和mysql8以下版本的数据库驱动并不兼容,二者只能取其一,那smartbi要如何配置才能配置mysql8作为知识库,并实现低版本mysql版本的数据库也可以同时使用?
实现步骤
针对smartbi版本为V9及以上的版本具体步骤如下:
1、war包正常是可以用压缩工具双击打开的,然后直接通过删除旧的添加新的文件方式进行替换里边的文件,注意不能手动解压后又自己压缩回去的方式替换,这样有可能会导致目录层级不对,从而使war包不能正常使用。进行驱动替换前请先将war包备份。
2、将新的mysql驱动添加到war包的 web-inf/lib 同样路径下:
其他注意事项:
1、如果启动后出现如下错误:
启动服务器不成功,查看smartbi.log日志文件,出现下面信息:
问题原因:知识库字符集不对导致。
解决方案:字符集不对,最简单的处理方式就是使用可以指定数据库数据集的工具新建一个是GBK字符集或者utf-8的知识库 。或者用SQL语句创建指定gbk或者utf-8 字符集的数据库,如mysql的创建数据库语句:create database test_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
...
...
...
...
并添加MySQL8的驱动:
...
(3) 到完成第二步步骤都是不需要重启的,程序会自动动态加载添加到此目录下的驱动包,进入config.jsp 配置界面重新将知识库的【驱动程序存放目录】选择【自定义】 并指定到上一步创建的文件夹。:
...
(4)
...
点击测试连接,保证知识库可以正常连接,并保存,然后再重启服务器。这样下次更新war包的时候就不需要再手动替换掉产品内置的mysql低版本的驱动了。
...
(5) 对于其他低版本的mysql数据库连接,产品内置有相关mysql驱动包就可以使用【产品内置】,也可以按照加载动态加载类路径的方式加载其他数据库驱动。
注:
...
更多动态加载类逻辑可查看wiki文档: Smartbi V9-
...
...