Loading

Errore "The stored procedure ... does not return a result set" connesso a una procedura memorizzata

Data pubblicazione: Aug 24, 2022
Descrizione
Quando provi a connetterti a una procedura archiviata, potrebbe verificarsi il seguente errore:
 
The stored procedure "[<database name>].[<stored procedure name>]" does not return a result set (La procedura archiviata "[<nome database>].[<nome procedura archiviata>]" non restituisce un set di risultati).
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 (Impossibile connettersi al server "<nome server o indirizzo IP>". Verificare che il server sia in funzione e di disporre dei privilegi di accesso al database richiesto)
O
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 (La procedura archiviata "[dbo].[<nome della procedura archiviata>]" non ha restituito alcun risultato. I campi non hanno nomi di colonna o il tipo di dati nei campi non è supportato).

Cause

Il driver ODBC per SQL Server forza Tableau a utilizzare i cursori lato server nella maggior parte degli scenari e il driver ODBC per Microsoft presenta problemi noti con il supporto delle query di metadati e il recupero dei set di risultati per alcuni tipi di cursore. quando sono coinvolte tabelle temporanee.

Tableau scrive automaticamente i risultati delle procedure archiviate in una tabella temporanea e legge dalla tabella temporanea invece di eseguire ogni volta la procedura archiviata (a meno che i parametri di input alla procedura non cambino).
Risoluzione
Aggiungi un comando SET NOCOUNT ON all'inizio della procedura archiviata.

Il problema può verificarsi anche quando si utilizza una tabella temporanea all'interno di una procedura memorizzata.
Numero articolo Knowledge

001473825

 
Caricamento
Salesforce Help | Article