2015年1月21日水曜日

SQLServer からリンクサーバーでつないだOracle に OpenQuery を発行

2015/04/18一部修正

SQLServer からリンクサーバーを使ってOracle に接続すると、データのやり取りが簡単になる上に、SSMSを使って、クエリを作成したり、ストアドを作ったりするのが楽になります。

単に、私がオラクルが苦手なだけなんですけど。

しかし、普通につないで、そのオブジェクトに対して、クエリを発行すると、インデックスが効かないので異常に遅いです。

そこで、アクセスでいうところの、パススルーのような方法があります。

SQLServer では OpenQuery というそうです。

SELECT * FROM OPENQUERY(OraLink, 'SELECT * FROM hoge Where ID = 1')

緑字の部分がリンクサーバー名で、赤字の部分がオラクル用のSQL文です。

赤字の部分が、直接オラクル側で評価されますので、非常に高速です。

0 件のコメント:

コメントを投稿