アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQL2000サーバのデータベースにあるデータをDTSを使用して、PostgreSQLサーバにバッチで転送する仕組みを作っています。

DTSでデータ変換タスク自体はうまくいったのですが、転送する際の前処理としてDELETE文を発行したいのですが、やり方が分からず困っております。

OPENQUERYを使うのかなぁという印象はあるのですが、HELPでの例が、SELECT文のみだったのでご教授頂けないでしょうか

よろしくお願いいたします。

A 回答 (2件)

#1です。



>OPENQUERY(リンクサーバー名, 'SELECT * FROM ポスグレテーブル')
>
>の場合うまくいきましたが、
>
>DELETE FROM
>FROM リンクサーバー名...ポスグレテーブル
>サーバー : メッセージ 7314、レベル 16、状態 1、行 1

すみません。ちょっと原因はわかりません。
前に、SPが当たってない関係で、同様のエラーが出た記憶がありますが、その時は、テーブル名を大文字にして回避したような。
(かなり、うろ覚えです)
    • good
    • 0
この回答へのお礼

ありがとうございます
早速確認してみます

お礼日時:2004/11/23 12:35

DELETE FROM


OPENQUERY(リンクサーバー名, 'SELECT * FROM ポスグレテーブル')

でもOKなはずですが、普通は

DELETE FROM
FROM リンクサーバー名...ポスグレテーブル

みたいにしますね。

この回答への補足

ご回答ありがとうございます

DELETE FROM
OPENQUERY(リンクサーバー名, 'SELECT * FROM ポスグレテーブル')

の場合うまくいきましたが、

DELETE FROM
FROM リンクサーバー名...ポスグレテーブル
実際には
delete from POSTGRESQL...test_master_user
とすると、

サーバー : メッセージ 7314、レベル 16、状態 1、行 1
OLE DB プロバイダ 'POSTGRESQL' はテーブル 'test_master_user' を持っていません。テーブルが存在しないか、現在のユーザーがそのテーブルに権限を持っていません。
OLE DB エラー トレース [Non-interface error: OLE DB provider does not contain the table: ProviderName='POSTGRESQL', TableName='test_master_user']。

というエラーが出てしまいました。OPENQUERYを使用しない実装をしたいと考えていますが、原因について何か分かることがあればご教授頂けないでしょうか。

補足日時:2004/11/08 10:54
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す