Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

ストアド プロシージャへの接続時のエラー "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. (ストアド プロシージャ "[<database name>].[<stored procedure name>]" が結果セットを返しません。)
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 (サーバー "<server name or IP address>" に接続できません。サーバーが実行されており、要求したデータベースに対してアクセス権限を持っていることを確認してください。)
または
"[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].[<stored procedure name>]" ストアド プロシージャが結果を返しませんでした。フィールドに列名がないか、フィールド内のデータはサポートされるデータ型ではありません。)

Cause

SQL Server ODBC ドライバーはほとんどのシナリオでサーバー側のカーソルを使用するよう Tableau を強制します。また、Microsoft ODBC ドライバーにはメタデータ クエリのサポートに関する既知の問題があり、一時テーブルを使用すると、セットが特定のカーソル タイプを取得します。

Tableau はストアド プロシージャの結果を一時テーブルへ自動的に書き込み、ストアド プロシージャを毎回実行する代わりに、一時テーブルから読み込みます (プロシージャへの入力パラメーターが変更された場合を除く)。
解決策
ストアド プロシージャーの先頭に SET NOCOUNT ON ステートメントを追加します。

問題は、ストアド プロシージャーの内部で一時テーブルを使用した場合にも発生することがあります。
ナレッジ記事番号

001473825

 
読み込み中
Salesforce Help | Article