SSISを使えばデータベースごと取り込むことはできるのですが、あらかじめSQL Server 2005で定義したテーブルに、Oracle73上のレコードを流しこむのがよくわかりませんでした。結局、以下の方法で解決しました。
やりたいこと
Oracle73上のデータベース(DB1)上のテーブルTABLE1のデータをSQL Server 2005上のデータベース(DB2)のTABLE2に取り込む。
なお、Oracle73でのユーザー名・パスワードはUSER1/PASS1とする
準備
- SQL Server 2005側でOracleクライアントをインストールしておく。(SQL*Netだの)
- MSSMSにて以下のクエリを実行してリンクサーバを作成する。
EXEC sp_addlinkedserver 'SQLNET', 'Oracle', 'MSDAORA', 'DB1' EXEC sp_addlinkedsrvlogin 'SQLNET', 'FALSE',NULL, 'USER1', 'PASS1'
- 以下のクエリにてデータを取り込む
insert into DB2.dbo.TABLE2 select * from SQLNET..DB1.TABLE1;
参考
http://www.microsoft.com/Japan/msdn/vs_previous/Vstudio/techmat/feature/sqlinkserv/