Loading

저장 프로시저에 연결되었을 때 "The stored procedure ... does not return a result set" 오류

게시 일자: Aug 24, 2022
상세 설명
저장 프로시저에 연결하려고 할 때 다음 오류가 발생할 수 있습니다.
 
The stored procedure "[<database name>].[<stored procedure name>]" does not return a result set.(저장 프로시저 "[<데이터베이스 이름>].[<저장 프로시저 이름>]"이(가) 결과 집합을 반환하지 않습니다.)
Unable to connect to server "<server name or IP address>". Check that the server is running and that you have access privileges to the requested database("<서버 이름 또는 IP 주소>" 서버에 연결할 수 없습니다. 서버가 실행 중이며 요청된 데이터베이스에 액세스할 수 있는 권한이 있는지 확인하십시오.)
또는
The "[dbo].[<stored procedure name>]" stored procedure returned no results. The fields don't have column names, or the data in the fields is not a supported data type.("[dbo].[<저장 프로시저 이름>]" 저장 프로시저에서 결과를 반환하지 않았습니다. 필드에 열 이름이 없거나 필드의 데이터가 지원되는 데이터 유형이 아닙니다.)

Cause

SQL Server ODBC 드라이버는 대부분 Tableau에서 서버 측 커서를 사용하도록 강제합니다. 또한 Microsoft ODBC 드라이버에는 임시 테이블이 관련된 경우 특정 커서 유형에 대해 메타데이터 쿼리 및 결과 집합 검색을 지원하는 것과 관련된 알려진 문제가 있습니다.

Tableau는 저장 프로시저의 결과를 자동으로 임시 테이블에 기록하고, 매번 저장 프로시저를 실행하는 대신 프로시저에 대한 입력 매개 변수가 변경되지 않는 한 임시 테이블에서 결과를 읽습니다.
솔루션
저장 프로시저의 시작 부분에 SET NOCOUNT ON 문을 추가합니다.

이 문제는 저장 프로시저 내에 임시 테이블을 사용하는 경우에도 발생할 수 있습니다.
Knowledge 기사 번호

001473825

 
로드 중
Salesforce Help | Article