MSSQLSERVER_7357
属性 | 値 |
---|---|
製品名 | SQL Server |
イベント ID | 7357 |
イベント ソース | MSSQLSERVER |
コンポーネント | SQLEngine |
シンボル名 | RMT_ZERO_COL_OBJECT |
メッセージ テキスト | オブジェクト "%ls" を処理できません。 リンク サーバー "%ls" の OLE DB プロバイダー "%ls" では、オブジェクトに列がないか、現在のユーザーがそのオブジェクトに対する権限を持っていないことが示されています。 |
説明
このエラーは、通常、Open Query ステートメントに渡されたクエリに問題がある場合に 発生します。
ユーザー アクション
このエラーの次の潜在的な原因と推奨される解決策を確認します。
OPENQUERY は結果セットを返しません
- 挿入、更新、または削除の操作を実行するには、4 部構成の名前 (
linked_server_name.catalog.schema.object_name
) を使用します。 OPENQUERY
「OPENQUERY (Transact-SQL)」のINSERT
UPDATE
「例」セクションに記載されているように、OLE DB プロバイダーの機能に応じて、関数を 、またはDELETE
ステートメントのターゲット テーブルとして参照します。
パススルー クエリの OLEDB プロバイダーから 0 列が返される
- パススルー クエリ テキストを調べて修正し、リモート データ ソースから有効な列が返されることを確認します。
- そのデータ ソースに対して提供されているクライアント ツールを使用して、リモート データ ソースに対して直接パススルー クエリを実行し、少なくとも 1 つの有効な列が返されるようにします。 パススルー クエリの例については、OPENQUERY (Transact-SQL) を参照してください。
- 代替
linked_server_name.database.schema.object
として、4 部構成のリンク サーバー クエリを使用します。
クエリの最初の行はコメントです
- クエリまたはプロシージャの末尾にコメントを移動します。