Loading

Erreur "The stored procedure ... does not return a result set" Connecté à une procédure stockée

Date de publication: Aug 24, 2022
Description
Lorsque vous tentez de vous connecter à une procédure stockée, l'erreur suivante peut se produire :
 
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 (La procédure stockée "[<nom base de données>].[<nom procédure stockée>]" ne retourne pas un ensemble de résultats. Impossible de se connecter au serveur "<nom serveur ou adresse IP>". Vérifiez que le serveur est en cours d'exécution et que vous disposez de privilèges d'accès à la base de données demandée)
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. (La procédure stockée "[dbo].[<stored procedure name>]" n'a renvoyé aucun résultat. Les champs n'ont pas de nom de colonne, ou le type de données des champs n'est pas pris en charge.)

Cause

Le pilote SQL Server ODBC force Tableau à utiliser les curseurs côté serveur dans la plupart des scénarios, et le pilote Microsoft ODBC rencontre des problèmes connus de prise en charge des requêtes de métadonnées et de récupération des ensembles de résultats lorsque des tables temporaires sont impliquées.

Tableau écrit les résultats des procédures stockées automatiquement dans une table temporaire, et lit à partir de la table temporaire au lieu d'exécuter la procédure à chaque fois (sauf en cas de modification des paramètres d'entrée pour la procédure).
Résolution
Ajoutez une expression SET NOCOUNT ON au début de la procédure stockée.

Le problème peut également se produire en cas d'utilisation d'une table temporaire dans une procédure stockée.
Numéro d’article de la base de connaissances

001473825

 
Chargement
Salesforce Help | Article