全部產品
Search
文件中心

DataV:資料來源配置和使用常見問題

更新時間:May 28, 2025

串連資料來源時,可能遇到配置問題、效能問題、資料一致性問題等。本文介紹串連資料來源和使用資料來源時,遇到的常見問題及相應的解決方案。

串連問題

資料來源串連失敗或逾時

若您在串連資料來源時出現報錯,請優先排查以下原因:

  1. 對於資料庫類的資料來源,請確保正確設定資料庫白名單

    • 阿里雲資料庫:請在資料庫白名單與安全性群組配置中添加指定IP地址。

    • 阿里雲ECS上自建資料庫:請在ECS的添加安全性群組規則、系統防火牆和資料庫白名單添加指定IP地址 。

    • 本地的自建資料庫:請在該物理機的系統防火牆、網路防火牆和資料庫白名單添加指定IP地址。

  2. 請確認網路類型與資料來源實際類型是否一致。

    • 當填寫外網地址時,網路類型請選擇外網

    • 當填寫內網VPC地址時,網路類型請選擇內網並開啟VPC訪問。

  3. 資料庫帳號或者AccessKey ID沒有需要的許可權。

    • 請確保資料庫使用者名稱擁有List許可權,以便擷取資料表列表。

    • 請確保AccessKey ID擁有Read許可權,以便訪問執行個體。

  4. 資料代理服務串連失敗,請參見資料代理請求常見問題

  5. 若以下完全正確,仍然連線逾時,可能是DataV-Board的10秒連線逾時限制。逾時問題,具體可參考效能問題

若仍串連失敗,請複製完整錯誤資訊,聯絡我們進行問題排查。

MySQL 8.0 資料庫報錯

在使用 MySQL 8.0 時,可能會遇到如下錯誤提示:

ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

這個錯誤是由於 MySQL 8.0 預設使用了一種新的認證外掛程式(caching_sha2_password),而DataV-Board不支援這種加密方式,導致無法串連到資料庫。將認證外掛程式修改為較老版本的 mysql_native_password,即可解決問題。以下是步驟:

  1. 登入MySQL資料庫: 使用具有足夠許可權的使用者(如root)登入到MySQL伺服器。

    mysql -u root -p
  2. 切換認證外掛程式: 對於需要更改的特定使用者,執行以下SQL語句來更新其認證外掛程式:

    ALTER USER 'your_username'@'host' IDENTIFIED WITH mysql_native_password BY 'your_password';
    • your_username:替換為目標使用者的使用者名稱。

    • host:替換為該使用者串連到資料庫的主機名稱(通常為localhost或%)。

    • your_password:替換為該使用者的密碼。

  3. 重新整理許可權: 確保更改立即生效,執行以下命令重新整理許可權:

    FLUSH PRIVILEGES;
  4. 查看外掛程式是否更新成功。

    SELECT user, host, plugin FROM mysql. user WHERE user = 'your_username' ;

  5. 退出MySQL: 完成配置更改後,退出MySQL用戶端:

    EXIT;

效能問題

DataV-Board設定了資料庫請求時間限制,即如果資料查詢時間超過10秒,就會報請求逾時的錯誤。

業務資料表數量太大,導致SQL查詢逾時

您可嘗試通過以下幾種方式提高查詢效能:

  • 針對查詢條件所使用的欄位添加索引,減少掃描行數,從而加速查詢。

  • 在資料庫中增加定時任務,定時計算所需要的業務指標並更新結果表。組件直接查詢結果表的資料,無需每次執行SQL查詢擷取組件資料。

  • 通過自建API 服務(需支援跨域),從而避免查詢逾時。

  • 通過DataV資料代理服務方式,突破系統10秒連線逾時限制。

API介面內部業務調用鏈路較長,導致查詢逾時

如果讀取資料來源超過了DataV的逾時時間,就意味著查詢資料的方式較為複雜,可以通過最佳化查詢時間的方式來處理。您可嘗試通過以下3種方式提高查詢效能:

  • 為API服務設計緩衝空間,針對常用的資料進行高效緩衝,減少多次調用讀取耗時。

  • 最佳化調用鏈路,將可以並行調用的過程並行化處理,壓縮介面總時間。

  • 增加資料中介層,將多次介面調用的中間鏈路複用,減少系統消耗。

具體的最佳化方案要結合查詢本身的技術特徵、業務資料的邏輯關係以及相關技術架構等來考慮和設計。

資料安全性問題

系統預設採取使用TLS加密協議,保護您的資料安全。 若您有所顧忌,可採取以下兩種方式:

  • 使用DataV資料代理服務方式,無需暴露資料庫的公網IP,就可以串連自建的資料庫,提高資料安全性。

  • 可使用尊享版本進行本地部署,具體操作請參見產品升級

資料一致性問題

系統不緩衝任何資料,每次請求均擷取資料來源最新資料,以保證資料一致性。

資料配置問題

當資料來源添加成功後,進入畫布中進行使用。您需通過資料對應、SQL語句、過濾器等各種方式將資料來源資料改造成組件所支援資料結構,方可正常展示效果。

組件配置資料來源時,請求報逾時

當資料來源添加成功,但使用時存在連線逾時。可能是以下幾個原因:

  • SQL語句過於複雜,導致連線逾時。

    • 解決方案:建議您最佳化查詢SQL語句,或者調整表結構來縮短查詢時間長度。

  • 組件自動更新請求設定間隔較短,同時組件資料查詢時間較長,會觸發Chrome瀏覽器同一網域名稱同一時間最多隻能發起6個HTTP請求的限制,導致後面的請求pending在瀏覽器中無法發送至服務端。

    • 解決方案:建議您調整自動更新請求間隔時間長度,或最佳化SQL語句來縮短資料返回時間。

配置CSV資料來源

設定CSV的首行為表頭,並且表頭名需要和相應圖表中要求的資料結構欄位名保持一致。以Echarts 柱狀圖為例,表頭應為x座標軸值y座標軸值系列值

回調ID為數組時SQL編寫

假設idList為您配置的回調ID數組。

  • 當您使用普通SQL查詢時:

     select * from tb where id in (:idList)

  • 當您使用資料庫預存程序查詢時:

    call myFunc(concat_ws(',', :idList))

    說明

    myFunc為自訂的預存程序名稱。

輪播列表SQL編寫

通過SQL設定別名方式,將欄位名設定成欄欄位名進行SQL查詢即可。

select field1 as “列1”, filed2 as "列2", field3 as "列3" from table

組件配置API資料來源時報錯:Unexpected end of JSON input

  • 問題描述:組件配置API資料來源POST介面時提示資料來源請求錯誤。

  • 問題原因:未明確指定請求體是JSON格式,伺服器嘗試以預設解析時觸發錯誤

  • 解決方案:DataV設定資料來源時需要在Headers裡加上 { "Content-Type": "application/json" }。

    說明

    API 請求是指嚮應用程式編程介面(API)發送一種請求,需要根據API文檔配置HTTP方法、URL、要求標頭、請求體等。出現Unexpected end of JSON input錯誤通常是因為要求標頭中缺少必要的Content-Type聲明導致伺服器未能正確解析請求體。要求標頭中的中繼資料(如內容類型、認證資訊等)會指導伺服器如何處理請求,因此只需在要求標頭中明確指定{"Content-Type": "application/json"},即可確保伺服器正確解析JSON請求體。