如何解決自訂 QuickSight 中的自訂 SQL 資料來源 SQL 異常錯誤?

上次更新日期:2022-07-25

我試圖在 Amazon QuickSight 中使用自訂 SQL 資料來源,但我收到錯誤訊息 "Your database generated a SQL exception (您的資料庫產生 SQL 異常)"。 如何解決此錯誤?

簡短描述

當 Amazon QuickSight 查詢或重新整理您的 SQL 資料來源時,您會收到下列錯誤訊息:

"Your database generated a SQL exception. This can be caused by query timeouts, resource constraints, unexpected DDL alterations before or during a query, and other database errors. Check your database settings and your query, and try again."

如需造成錯誤的詳細資訊,請選擇錯誤訊息下方的 Show Details (顯示詳細資料)。

收照錯誤訊息的常見原因包括:

  • 查詢逾時。
  • VPC 連線到資料來源時發生問題。
  • 您的 QuickSight 帳戶沒有存取資料的權限。
  • 您的 QuickSight 服務角色沒有存取 AWS 受管 Key Management Service (AWS KMS) key 的權限。
  • 您正在使用不支援的資料類型或函數。

解決方案

若您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤, 請確保您使用的是最新的 AWS CLI 版本

查詢逾時

如果自訂 SQL 查詢逾時,請簡化查詢以最佳化執行時間。如需其他查詢逾時解決方案,請參閱如何解決 QuickSight 中的查詢逾時問題?

VPC 連線到資料來源時發生問題

錯誤訊息的詳細資料包括下列內容:

Communications link failure The last packet successfully received from the server was nnnn milliseconds ago. The last packet sent successfully to the server was nnnn milliseconds ago.

-或-

Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

如果您遇到與資料來源相關聯的 VPC 連線問題,請檢查 VPC 中與資源相關聯的網路安全群組。如需詳細資訊,請參閱使用 Amazon QuickSight 連線到 VPC

您的 QuickSight 帳戶沒有存取資料的權限

如果您在嘗試存取 AWS 服務中的資料時,遇到 SQL 異常錯誤,請檢查您的 QuickSight 安全性和權限設定。

  1. 開啟 Amazon QuickSight 主控台
  2. 選擇 Manage QuickSight (管理 QuickSight)。
  3. 選擇 Security & Permissions (安全性與權限)。
  4. 設定您使用的支援服務的存取權。

如果您使用 AWS Organizations,當您沒有被指派必要的服務控制政策 (SCP) 時,可能會收到錯誤訊息。請要求 AWS Organizations 管理員檢查您的 SCP 設定,以驗證指派給您的權限。如果您是 AWS Organizations 管理員,請參閱建立、更新和刪除服務控制政策

您的 QuickSight 服務角色沒有存取 AWS 受管 KMS key 的權限

您會收到以下錯誤:

If you are encrypting query results with KMS key, please ensure you are allowed to access your KMS key.

請確定 QuickSight 服務角色具有正確的 AWS KMS key 權限。

  1. 使用 AWS Identity and Access Management (IAM) 主控台,找到 QuickSight 服務角色 ARN。
  2. 使用 Amazon Simple Storage Service (Amazon S3) 主控台,找到 AWS KMS key ARN。
    前往包含資料檔案的儲存貯體。
    選擇 Overview (概觀) 分頁,然後找到 KMS key ID
  3. 將 QuickSight 服務角色 ARN 新增至 KMS key 政策。

執行 AWS CLI create-grant 命令:

aws kms create-grant —key-id aws_kms_key_arn —grantee-principal quicksight_role_arn —operations Decrypt

附註:aws_kms_key_arn 取代為 AWS KMS key 的 ARN,並將 quicksight_role_arn 取代為 QuickSight 服務角色的 ARN。

您正在使用不支援的資料類型或函數

如果您嘗試匯入不支援的資料類型或使用不支援的 SQL 函數,您會收到 SQL 異常錯誤。若要解決這個問題,請檢查 SQL 資料來源,以判斷資料類型或 SQL 函數是否受支援。

若要查看支援的內容,請檢查以下資源: