MS SQL サーバーから ODBC 経由で一連のクエリを Oracle サーバーに送信し、結果を MS SQL サーバーのテーブルとして保存する必要があります。
クエリには Oracle サーバーで定義されたサーバー側関数が必要なため、パススルーにする必要があります。Oracle サーバーにテーブルを保存できず、ODBC 経由でアクセスできません。これは、Oracle で実行されているデータベースのベンダーからのライセンス制限のためです。
正しい結果を返すコードは次のとおりですが、それらを保存する方法がわかりません。
DECLARE @BibID AS bigint
DECLARE BibList CURSOR FOR
SELECT BIB_ID FROM tblActiveSerialsThatHave740s
OPEN BibList
FETCH NEXT FROM BibList INTO @BibID
WHILE @@FETCH_STATUS=0
BEGIN
EXECUTE
('SELECT
AMDB.BIB_DATA.BIB_ID As BIB_ID,
AMDB.GetAllBibTag(AMDB.BIB_DATA.BIB_ID, ''740'', ''2'') As F740_All
FROM
AMDB.BIB_DATA
WHERE
AMDB.BIB_DATA.BIB_ID = ' + @BibID + '
GROUP BY BIB_ID '
)
AT REPORT
FETCH NEXT FROM BibList INTO @BibID
END
DEALLOCATE BibList