當前為5.1版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

MySQL資料連結

1. 概述

1.1 版本

FineBI 版本功能變動
5.1
-
5.1.19更改上傳資料庫驅動包的方式:透過「驅動管理」上傳,實現熱載入

1.2 應用場景

本文將介紹如何在 FineBI 中連結 MySQL 資料庫。

注:如果是 MySQL8.0,連結方法參見文檔:MySQL8.0 資料連結插件

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官網 下載對應的連結驅動包。

注:MySQL8 連結優先使用本文方案,若連結不上可嘗試使用插件連結:MySQL8.0 資料連結插件

2.2 收集連結資訊

在連結資料庫之前,請收集以下資訊:

資料庫所在伺服器的 IP 位址和埠號;

資料庫的名稱;

資料庫的帳號和密碼;

3. 具體連結步驟

1)以管理者身分登入 FineBI ,點選「管理系統>資料連結>資料連結管理」,點選「資料連結」,如下圖所示:

注:如果非管理者使用者想要配置資料連結,需要管理者給其分配管理系統下資料連結節點的權限,具體操作請查看 資料連結權限

mysql1.png

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

mysql2.png

3)驅動選擇「預設」(若使用者重新上傳了驅動,可以切換為自訂後選擇自己的驅動),然後輸入 2.2 節的連結資訊。如下圖所示:

mysql3.png

注:若出現中文亂碼或日期錯亂的情況,可在「資料連結URL」後加後綴,格式為:jdbc:mysql://hostname:port/database?generateSimpleParameterMetadata=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai

其中

-- 設定以"上海時區"為準
-- 編碼轉化

4)點選「測試連結」,若連結成功則「儲存」該連結。

4. 新增資料庫的表至 FineBI

有兩種方式可以將資料庫中的表新增至 FineBI :

mysql4.png

5. 注意事項

5.1 資料庫編碼問題

若 MySQL 資料庫編碼為 UTF-8 ,需要在資料連結的 URL 後新增參數 ?useUnicode=true&characterEncoding=UTF-8

如果新增參數後仍然出現亂碼,那麼需要將編碼改為「預設」。

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 後出現亂碼。

2)當使用 MYSQL 資料連結並新增資料表時,如果資料庫中欄位型別為年份 (year) 型別,在 BI 中會被識別成正文欄位,且顯示為年月日格式。如資料庫中有 year 型別欄位 2015,在 BI 中新增該資料表則會顯示為 2015-01-01。

5.2.3 新增的資料集日期欄位值和資料庫記錄的日期有誤差

1)現象:儀表板或資料準備頁面顯示資料庫的時間欄位,比實際資料小了一天。

2)原因:mysql資料庫預設使用的時區為CST,和當前時區不同。

3)解決方法:資料連結URL中增加參數 ?serverTimezone=Asia/Shanghai

附件列表


主題: 连接到数据
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 评价文档,奖励 1 ~ 100 随机 F 豆!