- - PR -
ストアドプロシージャを別データベースで実行したいのですが…
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-04-12 20:52
大変お世話になっております。
環境:SQL SERVER 7.0 タコな質問ならごめんなさい。 2つのDBがあります。 あるストアドプロシージャ−で、別のDBのデータを操作したいのですが、 具体的な方法がわかりません。 別DBに同じストアドプロシージャ−を作れば問題ないと思うのですが、 環境の都合上、実現できません。 私の素人考えだと、以下の手順をストアドプロシージャ−内に書いて 実行すれば、解決するものだと思っております。 @「別DBへログイン」 → ? A使用するテーブルを選ぶ → USE テーブル名 B行いたい処理 → select hoge from … Cログオフする → ? ご指導よろしくお願いいたします。 | ||||
|
投稿日時: 2006-04-12 22:01
こんにちは。
リンクサーバー を作成することで実現できると思います。 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnvs60/htm/vs6/sqlinkserv.asp | ||||
|
投稿日時: 2006-04-12 22:17
ueさん
回答ありがとうございます。 参考になりました。 リンクサーバーを作成すると確かに解決できそうです。 がしかし、それ以外の解決方法はないでしょうか? (他条件によりリンクを張ることができないんです。すみません。) 現在「OPENROWSET」を使って解決できないかと模索中ですが、 見当違いでしょうか? | ||||
|
投稿日時: 2006-04-12 22:39
ueです。
OPENROWSET でいけます。 | ||||
|
投稿日時: 2006-04-13 10:16
ueさん、ありがとうございます。 「いける」という言葉を頂き、ある程度自信をもって考えられそうです。 | ||||
|
投稿日時: 2006-04-13 11:43
ちなみに以下に対する、皆さんの考え、もしくは正解を教えてください。
問 : 「リンクサーバを張る」ことはサーバ(リンクを張るほう、張られるほう)に負荷をかけることになるのでしょうか? ueさんに「リンクサーバー」の解決策をいただき、実践しようとすると、 上司に「負荷が高そうだから、別の解決策を見つけて」と言われました。 (↑私が研修中で、文系SEなのがバレバレですね…) 果たして本当にリンクを張ることは負荷が高いのでしょうか? 「OPENROWSET」を使ったところで、変わらないような気がするんですけど…。 [ メッセージ編集済み 編集者: のっぴき 編集日時 2006-04-13 12:54 ] | ||||
|
投稿日時: 2006-04-13 12:22
ueです。
私もそう思います。 リンクサーバーとは OLE DB プロバイダを用いて SQL Server のインスタンスとデータソースとを接続する機能です。データソースへのショートカットを作っておくイメージですね。 OPENROWSET や OPENDATASOURCE も OLE DB プロバイダを用いてデータソースに接続するという点はリンクサーバーと共通です。 負荷の高い低いは実行される T-SQL 次第でしょうから、リンクサーバーを張ったからといってそれが直接サーバ負荷の増大に繋がるわけではありません。 [ メッセージ編集済み 編集者: ue 編集日時 2006-04-13 12:26 ] |
1