분석 확장 프로그램 연결 문제 해결
이 항목에서는 Tableau가 외부 분석 확장 프로그램 서비스에 연결될 때 발생할 수 있는 오류를 설명합니다.
참고: Tableau 기술 지원에서는 외부 스크립트의 작성, 문제 해결 또는 디버깅을 지원하지 않습니다.
오류 메시지 | 설명 |
지원되지 않는 유형이 SCRIPT 함수에 인수로 전달되었습니다. | Tableau에서는 다음과 같은 Tableau 데이터 형식만 R로 내보낼 수 있습니다.
|
SCRIPT 함수에서 예기치 않은 수의 결과를 반환했습니다. 함수에 %2개의 값이 필요한데 %1개의 값이 반환되었습니다. | 스크립트 결과는 모든 행에 대해 복제되는 스칼라 또는 벡터 길이이거나 Tableau 결과 테이블에 있는 행 수와 같은 벡터 길이여야 합니다. |
인증서 파일이 지정된 연결에 유효하지 않습니다(%1 %2:%3). 동일한 인증서가 서버와 클라이언트 모두에 사용되었고, 인증서 파일이 손상되지 않았으며 유효한 날짜인지 확인합니다. | 외부 서비스에 연결하는 데 사용 중인 인증서가 올바르게 인코딩되고 형식화되어 있는지 확인합니다. 확장명이 .crt인 유효한 PEM 인코딩 x509 인증서를 사용하여 연결해야 합니다. |
SCRIPT 함수에서 반환된 결과가 예기치 않은 유형입니다. | 잘못된 데이터 유형이 수신되면 발생합니다. Tableau에서는 다음과 같은 데이터 유형만 Rserve 서버에서 가져올 수 있습니다.
TabPy의 경우 Tableau에서는 다음과 같은 데이터 형식을 가져올 수 있습니다.
결과가 null이거나 Tableau가 외부 서버에서 설명을 수집할 수 없는 스크립트 실행 오류가 있어도 이 오류가 보고됩니다. |
외부 서비스와 통신하는 동안 오류가 발생했습니다. | Tableau는 "try" 외부 함수 안의 모든 외부 스크립트를 실행합니다. “try” 함수가 평가 오류를 트래핑할 경우 외부 서비스에서 생성된 오류 메시지와 함께 이 오류가 표시됩니다. |
이 외부 서비스 연결이 인증을 지원하지 않습니다. 암호를 지정하지 않고 연결해 보십시오. | |
인증이 실패했습니다. 올바른 외부 서비스 사용자 이름 및 암호를 제공하십시오. | |
지원되지 않는 인증 유형이 외부 서비스에서 설정되었습니다. | 외부 서비스 인증을 사용하지 않도록 설정하거나 일반 텍스트 암호 인증으로 변경하십시오. |
외부 서비스 연결이 구성되지 않았습니다. 서버 이름을 지정하고 다시 시도하십시오. | 분석 확장 프로그램에 식 전달을 참조하십시오. |
계산 '%1'에 내부 서비스 연결이 필요한 SCRIPT_ 함수가 포함되어 있습니다. 사용자 지정 스크립트를 사용하도록 외부 서비스 연결을 구성하십시오. | 분석 확장 프로그램에 식 전달을 참조하십시오. |
게시하려는 통합 문서에 외부 서비스 연결이 필요한 SCRIPT_ 함수가 포함되어 있습니다. 사용자 지정 스크립트는 공개 통합 문서에 사용할 수 없습니다. | 외부 서비스 스크립트를 포함하는 통합 문서를 Tableau Public에 게시할 수 없습니다. |
Tableau Public은 외부 서비스가 필요한 실행 중인 사용자 지정 스크립트를 지원하지 않습니다. 외부 서비스를 사용하려면 Tableau Desktop Professional 버전으로 업그레이드하십시오. | "Tableau Public"은 Tableau Desktop Public을 참조합니다. |
Tableau Reader는 외부 서비스가 필요한 실행 중인 사용자 지정 스크립트를 지원하지 않습니다. 외부 서비스를 사용하려면 Tableau Desktop Professional 버전으로 업그레이드하십시오. | 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 소켓이 실패했습니다. | 로그인, 스크립트 평가, 읽기 보류 검사, 결과 읽기 또는 R 스크립트 인수에 대한 Tableau 필드에서 비정상적인 예외를 throw했습니다. |
외부 서비스가 지원되지 않는 인증 유형을 사용합니다. | Rserve 인스턴스에 대한 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 프로토콜이 필요합니다. |
False로 평가되는 논리 문에서도 SCRIPT 함수 실행
실행 중인 외부 서비스 인스턴스에 식을 보내는 함수가 실행되지 않도록 방지하는 논리 문 내에 있을 때에도 실행됩니다. IF, IIF 및 CASE와 같은 논리 함수에서도 마찬가지입니다. 예를 들면 다음과 같습니다.
IF 1==0 THEN [[R script code]] ELSE "1 does not equal 0" END