Loading

Erro "The stored procedure ... does not return a result set" vinculado a um procedimento armazenado

Data da publicação: Aug 24, 2022
Descrição
Ao tentar conectar-se a um procedimento armazenado, o seguinte erro poderá ocorrer:
 
O procedimento "[<nome do banco de dados>].[<nome do procedimento armazenado>]" não retorna um conjunto de resultado.
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. (Não foi possível conectar-se ao servidor. Verifique se o servidor está sendo executado e se você tem privilégios de acesso ao banco de dados solicitado.)
Ou
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. (O procedimento armazenado "[dbo].[<nome do procedimento armazenado>]" retornou sem resultados. Os campos não têm nomes de coluna ou os dados nos campos não são um tipo suportado.)

Cause

O driver ODBC do SQL Server força o Tableau a usar cursores no lado do servidor na maioria dos cenários, sendo que o driver ODBC da Microsoft tem problemas conhecidos em dar suporte às consultas de metadados e à recuperação de conjunto de resultados para determinados tipos de cursor quando tabelas temporárias estão envolvidas.

O Tableau grava os resultados de Procedimentos armazenados em uma tabela temporária automaticamente e lê essa tabela em vez de executar a cada vez o Procedimento armazenado (a menos que haja alteração nos parâmetros de entrada para o procedimento).
Resolução
Adicione uma instrução SET NOCOUNT ON no começo do procedimento armazenado.

Este problema também poderá ocorrer ao usar uma tabela temporária dentro de um procedimento armazenado.
Número do artigo do Knowledge

001473825

 
Carregando
Salesforce Help | Article