反馈已提交

网络繁忙

您正在浏览的是 FineBI6.0 帮助文档,点击跳转至: FineBI5.1帮助文档

MySQL数据连接

  • 文档创建者:doreen0813
  • 历史版本:54
  • 最近更新:Carly 于 2022-11-07
  • 1. 概述

    1.1 版本

    FineBI 版本功能变动
    6.0-

    1.2 应用场景

    本文将介绍如何在 FineBI 中连接 MySQL 数据库。

    2. 准备工作

    2.1 版本和驱动

    下载驱动,并将其上传至 FineBI,如何上传可参见:驱动管理 2.1 节

    支持数据库版本  驱动包下载

    V8.0、V5.6.31、V5.5、V5.5.5、V5.6.35、V5.7、V5.6.37、V5.5.46、V6.5、V5.7.16 、V5.6.29、V5.6.22、V5.6.34、V5.6.28、V5.1;

    已内置,无需下载
    官方建议:

    为获得更好的取数性能,建议使用 Mysql5.5、5.6、5.7 版本的客户,更换 Mysql 数据库驱动为 5.1.37 版本为获得更好的取数性能。(5.1.37 版本的驱动不支持 V5.1、V8.0 的数据库)mysql-connector-java-5.1.37.jar 

    用户若使用的是其他小版本的数据库,可以从  MySQL官网 下载对应的连接驱动包。

    2.2 收集连接信息

    在连接数据库之前,请收集以下信息:

    • 数据库所在服务器的 IP 地址和端口号;

    • 数据库的名称;

    • 数据库的用户名和密码;

    3. 具体连接步骤

    1)以管理员身份登录 FineBI ,点击「管理系统>数据连接>数据连接管理」,点击「新建数据连接」如下图所示:

    注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 数据连接权限

    1.png

    2)找到 MySQL 的图标,如下图所示:

    3)驱动选择「默认」(若用户重新上传了驱动,可以切换为自定义后选择自己的驱动),然后输入 2.2 节的连接信息。如下图所示:

    注:若出现中文乱码或日期错乱的情况,可在「数据连接URL」后加后缀,格式为:jdbc:mysql://hostname:port/database?generateSimpleParameterMetadata=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai

    其中

    serverTimezone=Asia/Shanghai -- 设置以"上海时区"为准

    characterEncoding=utf8  -- 编码转化

    4)点击「测试连接」,若连接成功则「保存」该连接。如下图所示:

    4. 添加数据库的表至 FineBI

    有两种方式可以将数据库中的表添加至 FineBI :

    2.png

    5. 注意事项

    5.1 数据库编码问题

    若 MySQL 数据库编码为 UTF-8 ,需要在数据连接的 URL 后添加参数 ?useUnicode=true&characterEncoding=UTF-8

    如果添加参数后仍然出现下图所示的乱码,那么需要将编码改为「默认」。

    1589868788448436.jpg

    5.2 添加数据表问题

    5.2.1 SQL 语句

    1)添加 SQL 数据集时,输入的 SQL 语句不支持添加注释。

    2)添加 SQL 数据集时,输入的 SQL 语句不支持 top N 语句。

    3)问题现象:添加SQL 数据集时,输入的 SQL 语句中带有 concat() 函数 ,例如 select concat( count(*) ,"个")from table GROUP  BY table1,如果连接的字段类型不同,会出现乱码。 

    解决方法:利用 MySQL 的字符串转换函数 CONVERT() 将参数格式化为 char 类型即可,例如:select concat( CONVERT(count(*),char),"个")from table GROUP  BY table1

    5.2.2 字段类型

    1)当使用 MYSQL 数据连接并添加数据表时,若数据库版本为 MYSQL 5.6 ,请确保数据库中 varchar 文本类型字段不为空,否则添加表至 BI 后出现小方块1574922930783691.png乱码。

    2)当使用 MYSQL 数据连接并添加数据表时,如果数据库中字段类型为年份 (year) 类型,在 BI 中会被识别成文本字段,且显示为年月日格式。如数据库中有 year 类型字段 2015,在 BI 中添加该数据表则会显示为 2015-01-01。

    5.2.3 添加的数据集日期字段值和数据库记录的日期有误差

    1)现象:仪表板或数据准备页面显示数据库的时间字段,比实际数据小了一天。

    2)原因:mysql数据库默认使用的时区为CST,和当前时区不同。

    3)解决方法:数据连接URL中增加参数 ?serverTimezone=Asia/Shanghai

    5.2.4 添加数据库表后不显示数据

    1)现象:创建 MySQL 数据连接并添加数据库表,数据库中有数据但 FineBI 预览时没有数据。

    2)解决方法:数据连接 URL 中增加参数 ?zeroDateTimeBehavior=convertToNull

    附件列表


    主题: 数据开发
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持