---
schema_version: "1"
id: b713aba06340582e923f3337676cf01bf8a31d3dcb168cb95db067dc09c93d3e
title: 外部服務連線疑難排解
collection: tableau
version: current
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/current/zh-tw/pro/desktop/r_connection_troubleshoot.md
canonical_url: https://help.tableau.com/current/pro/desktop/zh-tw/r_connection_troubleshoot.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 6821f3e033970c4010a01fccc5308e2da6479cefd4434ca5dcc43838a64b3858
description: Troubleshoot analytics extension connections and SCRIPT function errors.
---
[跳至主要內容](#main-content)

# 分析擴充功能連線疑難排解

本主題說明 Tableau 連線至外部分析擴充功能服務時可能會收到的錯誤。

附註：Tableau 技術支持人員無法協助編寫、調整外部指令碼或排除其問題。

## 與任何外部分析擴充功能服務通訊時可能會發生的錯誤

<table class="table--plain"><colgroup><col class="Column-Column1" style="width: 50%;"><col class="Column-Column1" style="width: 50%;"></colgroup><tbody><tr class="Body-Body1"><td class="BodyE-Column1-Body1"><b>錯誤訊息</b></td><td class="BodyD-Column1-Body1"><b>註解</b></td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">傳遞給 SCRIPT 函數的參數是不支援的類型。</td><td class="BodyD-Column1-Body2"><p>Tableau 只能將以下 Tableau 資料類型匯出到 R：</p><ul><li><p>數字(十進位)</p></li><li><p>數位(整數)</p></li><li><p>布林值</p></li><li><p>字串</p></li><li><p>Date（日期）</p></li><li><p>日期/時間</p></li></ul></td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">SCRIPT 函數返回了意外數量的結果。函數預期 %2 個值；返回了 %1 個值。</td><td class="BodyD-Column1-Body1">指令碼結果必須是為所有列複製的長度為 1 的標量或向量，或者長度等於 Tableau 結果表中的列數的向量。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">憑證檔案對特定連線 (%1 %2:%3) 無效。檢查伺服器和用戶端是否使用相同的憑證，憑證檔案未損毀且日期有效。</td><td class="BodyD-Column1-Body2">驗證用於連線外部服務的憑證是否編碼並正確格式化。您必須連線副檔案名為 .crt 的有效 PEM 編碼 x509 憑證。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">SCRIPT 函數返回的結果是意外類型。</td><td class="BodyD-Column1-Body1"><p>在收到無效資料類型時出現。Tableau 只能從 Rserve 伺服器匯入以下資料類型：</p><ul><li><p>RDouble</p></li><li><p>RInteger</p></li><li><p>RLogical</p></li><li><p>RCharacter</p></li></ul><p>對於 TabPy，Tableau 只能匯入以下資料類型：</p><ul><li><p>浮點數清單</p></li><li><p>整數清單</p></li><li><p>布林值清單</p></li><li><p>字串清單</p></li></ul><p>如果結果為 null 或存在 Tableau 無法從外部伺服器收集到說明的指令碼執行錯誤，也會報告此錯誤。</p></td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">與伺服器通訊時出錯 (403)</td><td class="BodyD-Column1-Body2">Tableau 在 [try] 外部函數內執行所有外部指令碼。當 [try] 函數捕獲計算錯誤時，會顯示此錯誤以及外部服務生成的錯誤消息。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">此外部服務連線不支援驗證。請嘗試在不指定密碼的情況下進行連線。</td><td class="BodyD-Column1-Body1">&nbsp;</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">驗證失敗。請提供有效的外部服務使用者名和密碼。</td><td class="BodyD-Column1-Body2">&nbsp;</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">外部服務中啟用的驗證類型不受支援。</td><td class="BodyD-Column1-Body1">禁用外部服務驗證或變更為純文字密碼驗證。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">未設定外部服務連線。請指定伺服器名稱並重試。</td><td class="BodyD-Column1-Body2">請參閱<a href="https://help.tableau.com/current/pro/desktop/zh-tw/r_connection_manage.htm" class="xref">透過分析擴充功能傳遞運算式</a>。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">計算 [%1] 包含一個需要內部服務連線的 SCRIPT_ 函數。請設定外部服務連線以啟用自訂指令碼。</td><td class="BodyD-Column1-Body1">請參閱<a href="https://help.tableau.com/current/pro/desktop/zh-tw/r_connection_manage.htm" class="xref">透過分析擴充功能傳遞運算式</a>。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">嘗試發佈的工作簿包含需要外部服務連線的 SCRIPT_ 函數。公共工作簿中不允許包含自訂指令碼。</td><td class="BodyD-Column1-Body2">無法將包含外部服務指令碼的公共工作簿發佈到 Tableau Public。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">Tableau Public 不支援執行需要外部服務的自訂指令碼。若要利用外部服務，請升級到 <span class="mc-variable Variables.TabsProductDesktop variable">Tableau Desktop</span> Professional Edition。</td><td class="BodyD-Column1-Body1">[Tableau Public] （在此錯誤中）是指 <span class="mc-variable Variables.TabsProductDesktop variable">Tableau Desktop</span> Public。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">Tableau Reader 不支援執行需要外部服務的自訂指令碼。若要利用外部服務，請升級到 <span class="mc-variable Variables.TabsProductDesktop variable">Tableau Desktop</span> Professional Edition。</td><td class="BodyD-Column1-Body2">無法在 Tableau Reader 中檢視包含外部服務指令碼的工作簿。</td></tr></tbody></table>

## 只有 Rserve 伺服器才可能會出現的錯誤

<table style="width: 100%;mc-table-style: url('Resources/TableStyles/Shaded-NoBorder.css');" class="TableStyle-Shaded-NoBorder" cellspacing="0"><colgroup><col class="Column-Column1" style="width: 25%;"><col class="Column-Column1" style="width: 75%;"></colgroup><tbody><tr class="Body-Body1"><td class="BodyE-Column1-Body1"><b>錯誤訊息</b></td><td class="BodyD-Column1-Body1"><b>註解</b></td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">無法識別 Rserve 簽名。</td><td class="BodyD-Column1-Body2">Rserve 標頭簽章必須為 [Rsrv] 。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">無法識別 Rserve 版本。</td><td class="BodyD-Column1-Body1">Rserve 標頭版本必須為 [0103] 。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">無法識別 Rserve 協定。</td><td class="BodyD-Column1-Body2">Rserve 標頭協定必須為 [QAP1] 。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">在連線到 R 時驗證失敗。</td><td class="BodyD-Column1-Body1">Tableau 嘗試向 Rserve 進行驗證但失敗。請確認您輸入了有效密碼。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">參數/主體中的位元組數不正確。</td><td class="BodyD-Column1-Body2">&nbsp;</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">Tableau 讀取的資料長度不等於標頭承諾的長度。</td><td class="BodyD-Column1-Body1">&nbsp;</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">無法識別回應類型。</td><td class="BodyD-Column1-Body2">讀取結果時的傳輸協定類型不是預期的 SEXP。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">&lt;type&gt;vector 過長。</td><td class="BodyD-Column1-Body1">用於測量從或向 Rserve 傳送的資料長度的數位過大，可能指示協定標頭已損壞。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">Rserve 命令無效。</td><td class="BodyD-Column1-Body2">Tableau 可能錯誤地實施了 Rserve 協定。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">伺服器回應錯誤 <code>&lt;&lt; (uint32_t)status &lt;&lt;</code> 。有關詳情，請參閱 Rsrv.h。</td><td class="BodyD-Column1-Body1">各種錯誤條件記錄在 Rsrv.h 中的注釋中。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">標頭偏移過長。</td><td class="BodyD-Column1-Body2">這可能由於亂碼標頭與回應資料的偏移過大造成的。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">Rserve 通訊端失敗。</td><td class="BodyD-Column1-Body1">登入、指令碼計算、讀取掛起檢查、結果讀取或 Tableau 欄位到 R 指令碼參數賦值引發非標準異常。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">外部服務使用不受支援的驗證類型。</td><td class="BodyD-Column1-Body2">若要支援同時執行啟用 SSL 和純文字 Rserve 執行個體連線，Rserve 伺服器管理員必須將下列項目新增至 Rserve 伺服器：<p><code>plaintext enable</code></p></td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">RServe 上發生了密碼編譯系統錯誤。</td><td class="BodyD-Column1-Body1">Rserve 加密系統發生錯誤。請查看 RServe 記錄檔以取得詳細資訊。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">RServe 因安全性違規已啟動關閉。</td><td class="BodyD-Column1-Body2">RServe 因安全性違規已關閉連線。請查看 RServe 記錄檔以取得詳細資訊。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">已設定安全連線的 [外部服務設定]，但遺失憑證。</td><td class="BodyD-Column1-Body1">建立外部服務安全連線時，需要上傳您希望其簽署此外部服務的憑證。此憑證未簽署之伺服器連線將被拒絕。這樣可確保您僅傳送資料至受信任的伺服器。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">憑證檔案對特定連線 (%1 %2:%3) 無效。檢查伺服器和用戶端是否使用相同的憑證，憑證檔案未損毀且日期有效</td><td class="BodyD-Column1-Body2">提供的憑證對於此連線設定無效。請檢查其是否符合簽署外部服務伺服器的憑證、是否經過 PEM 編碼並且對於今天日期有效。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">外部服務連線憑證無效</td><td class="BodyD-Column1-Body1">提供的憑證無效。請檢查憑證是否已經過 PEM 編碼並且對於今天日期有效。</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">外部服務連線無法建立 SSL/TLS 上下文</td><td class="BodyD-Column1-Body2">Tableau 無法初始化此指定外部服務設定的安全環境。請檢查主機和埠是否正確，憑證是否有效。</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">外部服務無法與 SSL/TLS 連線</td><td class="BodyD-Column1-Body1">Tableau 無法建立與外部服務的安全連線。確驗證部服務是否已設定為支援安全連線，提供的憑證是否與簽署外部服務的憑證相符。</td></tr><tr class="Body-Body2"><td class="BodyB-Column1-Body2">外部服務伺服器通訊協定無法辨識</td><td class="BodyA-Column1-Body2">未辨識或 Tableau 不支援的主機前面已加上通訊協定。如果連線至 RServe，則不需要通訊協定。如果連線至 TabPy，則在建立純文字連線時需要 HTTP 通訊協定，而在建立安全連線時需要 HTTPS 通訊協定。</td></tr></tbody></table>

## 其他問題

### SCRIPT 函數甚至在計算結果為 False 的邏輯語句中執行

將運算式傳送給執行的外部服務實例的函數將會執行，即使它位於本該阻止它執行的邏輯語句中也是如此。IF、IIF 和 CASE 之類的邏輯函數就是如此。例如：

IF 1==0 THEN
  \[\[R script code\]\]
ELSE
  "1 does not equal 0"
END