[pgsql-jp: 35100] リンクサーバ

akabane @ dowell.co.jp akabane @ dowell.co.jp
2005年 3月 23日 (水) 23:40:43 JST


はじめまして、赤羽と申します。

ODBC経由で、SQLServer2000からリンクサーバの設定をしました。

PSQLでは、どのクエリも期待通りの動きをしてくれるのですが、
SQLServerのクエリアナライザから実行するとUPDATEとDELETEでエラーとなって
しまいます。

DELETE FROM OPENQUERY(DWLX2, 'SELECT column1, column2 FROM "TEST2"') 
WHERE column1 = 11

サーバー : メッセージ 7345、レベル 16、状態 1、行 1
OLE DB プロバイダ  'MSDASQL' はテーブル  'SELECT column1, column2 FROM "
TEST2"' から削除できませんでした。 ユーザーには行を削除する権限がありま
せん。
[OLE/DB provider returned message: 複数ステップの OLE DB の操作でエラー
が発生しました。各 OLE DB の状態の値を確認してください。作業は終了しませ
んでした。]
[OLE/DB provider returned message: SetPos delete return error]
OLE DB エラー トレース [OLE/DB Provider 'MSDASQL' IRowsetChange::
DeleteRows returned 0x80040e21:  DBROWSTATUS_E_PERMISSIONDENIED]。


UPDATE OPENQUERY(DWLX, 'SELECT column1, column2 FROM "TEST2"')
SET column2 = 'yyyyy'
WHERE column1 = 1

サーバー : メッセージ 7399、レベル 16、状態 1、行 1
OLE DB プロバイダ  'MSDASQL' はエラーをレポートしました。  
[OLE/DB provider returned message: Error while executing the query;
ERROR:  current transaction is aborted, commands ignored until end of 
transaction block]
OLE DB エラー トレース [OLE/DB Provider 'MSDASQL' IRowsetChange::SetData 
returned 0x80004005:   ]。


テーブルには主キーを設定しており、権限も当たっているはずなのですが...。
どこがおかしいのか見当が付かない状態なのでアドバイスをいただけないでしょ
うか。



pgsql-jp メーリングリストの案内