SQL Tips

 

[SQL Server] OLE DB プロバイダー "MSDASQL" では、オブジェクトに列がないか、現在のユーザーがそのオブジェクトに対する権限を持っていないことが示されています。

SQL SERVER→MySQLのリンクサーバーで繋いでデータを取得するSQLを実行した時に以下のようなエラーの対応方法について説明します。

例えば、このようなSQLを実行した時にエラーが発生します。

SELECT *
FROM OPENQUERY(LinkedServereMySQL,'
SELECT UserID
FROM TempData
WHERE Sn = 1)

OPENQUERYでデータを取得していますが、今まで問題なかったSQLがODBCドライブを変更したら以下のエラーが発生しました。

メッセージ 7357、レベル 16、状態 2、行 1
オブジェクト "
SELECT UserID
FROM TempData
WHERE Sn = 1" を処理できません。リンク サーバー "LinkedServereMySQL" の OLE DB プロバイダー "MSDASQL" では、オブジェクトに列がないか、現在のユーザーがそのオブジェクトに対する権限を持っていないことが示されています。

対応方法は以下の通り修正すると解決できます。

SELECT * FROM OPENQUERY(LinkedServereMySQL,'SELECT UserID
FROM TempData
WHERE Sn = 1

もしくは

SELECT * FROM OPENQUERY(LinkedServereMySQL,'SELECT UserID FROM TempData WHERE Sn = 1)

「SELECT * FROM OPENQUERY(LinkedServereMySQL,'」の後に改行するとエラーになります。

このエントリーをはてなブックマークに追加
2017-12-08 15:19:52   333

コメント

[SQL Server] 暗号化、復号化 / ENCRYPTBYPASSPHRASE / DECRYPTBYPASSPHRASE

-.日付:2014-02-28   カテゴリ : -   閲覧数:5910

[SQL SERVER] Trace Logのtrcファイルの内容を確認する方法

-.日付:2018-12-05   カテゴリ : -   閲覧数:9

[SQL Server] 「,」カンマ区切りで結果を返す

-.日付:2018-05-29   カテゴリ : -   閲覧数:147

[SQL Server] SSDT for Visual Studio 2017 offline(オフライン)installer

-.日付:2017-12-26   カテゴリ : -   閲覧数:369

[SQL Server] リンクサーバーのリストを取得する方法 - sp_linkedservers

-.日付:2017-01-16   カテゴリ : -   閲覧数:793

Copyright © 2015 INNOYA.COM All rights reserved. RSS