分析擴充功能連線疑難排解
本主題說明 Tableau 連線至外部分析擴充功能服務時可能會收到的錯誤。
附註:Tableau 技術支持人員無法協助編寫、調整外部指令碼或排除其問題。
錯誤訊息 | 註解 |
傳遞給 SCRIPT 函數的參數是不支援的類型。 | Tableau 只能將以下 Tableau 資料類型匯出到 R:
|
SCRIPT 函數返回了意外數量的結果。函數預期 %2 個值;返回了 %1 個值。 | 指令碼結果必須是為所有列複製的長度為 1 的標量或向量,或者長度等於 Tableau 結果表中的列數的向量。 |
憑證檔案對特定連線 (%1 %2:%3) 無效。檢查伺服器和用戶端是否使用相同的憑證,憑證檔案未損毀且日期有效。 | 驗證用於連線外部服務的憑證是否編碼並正確格式化。您必須連線副檔案名為 .crt 的有效 PEM 編碼 x509 憑證。 |
SCRIPT 函數返回的結果是意外類型。 | 在收到無效資料類型時出現。Tableau 只能從 Rserve 伺服器匯入以下資料類型:
對於 TabPy,Tableau 只能匯入以下資料類型:
如果結果為 null 或存在 Tableau 無法從外部伺服器收集到說明的指令碼執行錯誤,也會報告此錯誤。 |
與伺服器通訊時出錯 (403) | Tableau 在 [try] 外部函數內執行所有外部指令碼。當 [try] 函數捕獲計算錯誤時,會顯示此錯誤以及外部服務生成的錯誤消息。 |
此外部服務連線不支援驗證。請嘗試在不指定密碼的情況下進行連線。 | |
驗證失敗。請提供有效的外部服務使用者名和密碼。 | |
外部服務中啟用的驗證類型不受支援。 | 禁用外部服務驗證或變更為純文字密碼驗證。 |
未設定外部服務連線。請指定伺服器名稱並重試。 | 請參閱透過分析擴充功能傳遞運算式。 |
計算 [%1] 包含一個需要內部服務連線的 SCRIPT_ 函數。請設定外部服務連線以啟用自訂指令碼。 | 請參閱透過分析擴充功能傳遞運算式。 |
嘗試發佈的工作簿包含需要外部服務連線的 SCRIPT_ 函數。公共工作簿中不允許包含自訂指令碼。 | 無法將包含外部服務指令碼的公共工作簿發佈到 Tableau Public。 |
Tableau Public 不支援執行需要外部服務的自訂指令碼。若要利用外部服務,請升級到 Tableau Desktop Professional Edition。 | [Tableau Public] (在此錯誤中)是指 Tableau Desktop Public。 |
Tableau Reader 不支援執行需要外部服務的自訂指令碼。若要利用外部服務,請升級到 Tableau Desktop Professional Edition。 | 無法在 Tableau Reader 中檢視包含外部服務指令碼的工作簿。 |
錯誤訊息 | 註解 |
無法識別 Rserve 簽名。 | Rserve 標頭簽章必須為 [Rsrv] 。 |
無法識別 Rserve 版本。 | Rserve 標頭版本必須為 [0103] 。 |
無法識別 Rserve 協定。 | Rserve 標頭協定必須為 [QAP1] 。 |
在連線到 R 時驗證失敗。 | Tableau 嘗試向 Rserve 進行驗證但失敗。請確認您輸入了有效密碼。 |
參數/主體中的位元組數不正確。 | |
Tableau 讀取的資料長度不等於標頭承諾的長度。 | |
無法識別回應類型。 | 讀取結果時的傳輸協定類型不是預期的 SEXP。 |
<type>vector 過長。 | 用於測量從或向 Rserve 傳送的資料長度的數位過大,可能指示協定標頭已損壞。 |
Rserve 命令無效。 | Tableau 可能錯誤地實施了 Rserve 協定。 |
來自伺服器的響應是錯誤「<< (uint32_t)status <<」。有關詳情,請參閱 Rsrv.h。 | 各種錯誤條件記錄在 Rsrv.h 中的注釋中。 |
標頭偏移過長。 | 這可能由於亂碼標頭與回應資料的偏移過大造成的。 |
Rserve 通訊端失敗。 | 登入、指令碼計算、讀取掛起檢查、結果讀取或 Tableau 欄位到 R 指令碼參數賦值引發非標準異常。 |
外部服務使用不受支援的驗證類型。 | 若要支援同時執行啟用 SSL 和純文字 Rserve 執行個體連線,Rserve 伺服器管理員必須將下列項目新增至 Rserve 伺服器:
|
RServe 上發生了密碼編譯系統錯誤。 | RServe 加密系統發生錯誤。請查看 RServe 記錄檔以取得詳細資訊。 |
RServe 因安全性違規已啟動關閉。 | RServe 因安全性違規已關閉連線。請查看 RServe 記錄檔以取得詳細資訊。 |
已設定安全連線的 [外部服務設定],但遺失憑證。 | 建立外部服務安全連線時,需要上傳您希望其簽署此外部服務的憑證。此憑證未簽署之伺服器連線將被拒絕。這樣可確保您僅傳送資料至受信任的伺服器。 |
憑證檔案對特定連線 (%1 %2:%3) 無效。檢查伺服器和用戶端是否使用相同的憑證,憑證檔案未損毀且日期有效 | 提供的憑證對於此連線設定無效。請檢查其是否符合簽署外部服務伺服器的憑證、是否經過 PEM 編碼並且對於今天日期有效。 |
外部服務連線憑證無效 | 提供的憑證無效。請檢查憑證是否已經過 PEM 編碼並且對於今天日期有效。 |
外部服務連線無法建立 SSL/TLS 上下文 | Tableau 無法初始化此指定外部服務設定的安全環境。請檢查主機和埠是否正確,憑證是否有效。 |
外部服務無法與 SSL/TLS 連線 | Tableau 無法建立與外部服務的安全連線。確驗證部服務是否已設定為支援安全連線,提供的憑證是否與簽署外部服務的憑證相符。 |
外部服務伺服器通訊協定無法辨識 | 未辨識或 Tableau 不支援的主機前面已加上通訊協定。如果連線至 RServe,則不需要通訊協定。如果連線至 TabPy,則在建立純文字連線時需要 HTTP 通訊協定,而在建立安全連線時需要 HTTPS 通訊協定。 |
SCRIPT 函數甚至在計算結果為 False 的邏輯語句中執行
將運算式傳送給執行的外部服務實例的函數將會執行,即使它位於本該阻止它執行的邏輯語句中也是如此。IF、IIF 和 CASE 之類的邏輯函數就是如此。例如:
IF 1==0 THEN [[R script code]] ELSE "1 does not equal 0" END