---
schema_version: "1"
id: 2dc76ba635308516856d2f87fc5636787b89dca0ed88b3a572456a8269761b86
title: การแก้ปัญหาการเชื่อมต่อบริการภายนอก
collection: tableau
version: current
locale: th-th
portal_url: https://docs.salesforce.com/tableau/current/th-th/pro/desktop/r_connection_troubleshoot.md
canonical_url: https://help.tableau.com/current/pro/desktop/th-th/r_connection_troubleshoot.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 8b90889117b453c847cfa7da12538b7c8bf865193cd814b40fd68372c73d5fa9
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>วันที่</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">ผลลัพธ์ของสคริปต์ต้องเป็นสเกลาร์หรือเวกเตอร์ที่มีความยาวหนึ่งซึ่งจำลองผลลัพธ์ทุกแถวได้ หรือเวกเตอร์ที่มีความยาวเท่ากับจำนวนแถวในตารางผลลัพธ์ Tableau</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">ไฟล์ใบรับรองไม่ถูกต้องสำหรับการเชื่อมต่อที่ระบุ (%1 %2:%3) ตรวจสอบว่าได้ใช้ใบรับรองเดียวกันสำหรับทั้งเซิร์ฟเวอร์และไคลเอนต์ ไฟล์ใบรับรองไม่เสียหายและมีวันที่ที่ถูกต้อง</td><td class="BodyD-Column1-Body2">ตรวจสอบว่าใบรับรองที่คุณใช้เชื่อมต่อกับบริการภายนอกมีการเข้ารหัสและจัดรูปแบบอย่างถูกต้อง คุณต้องเชื่อมต่อกับใบรับรอง x509 ที่เข้ารหัส PEM ที่ถูกต้องพร้อมนามสกุล .crt</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>Tableau สามารถนำเข้าประเภทข้อมูลต่อไปนี้ได้สำหรับ TabPy:</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">เกิดข้อผิดพลาดขณะสื่อสารกับบริการภายนอก</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/th-th/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/th-th/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;ประเภท&gt; ยาวเกินไป</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">การตอบสนองจากเซิร์ฟเวอร์เป็น Error <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">ผู้ดูแลระบบเซิร์ฟเวอร์ Rserve ต้องเพิ่มรายการต่อไปนี้ในไฟล์การกำหนดค่า Rserve บนเซิร์ฟเวอร์ Rserve เพื่อรองรับการเรียกใช้การเชื่อมต่อทั้งแบบเปิดใช้งาน SSL และแบบข้อความธรรมดากับอินสแตนซ์ 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