OLE DB プロバイダー "MSDASQL" では、オブジェクトに列がないか、現在のユーザーがそのオブジェクトに対する権限を持っていないことが示されています。
SQL SERVER→MySQLのリンクサーバーで繋いでデータを取得するSQLを実行した時に以下のようなエラーの対応方法について説明します。
例えば、このような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,'」の後に改行するとエラーになります。
コメント
コメントを投稿