所有のWindowsサーバーにて、夜中にデータ取得のためバッチが回るようセットしています。
相手先のDB(oracle)への接続には「DBA_DB_LINK」「tnsnames.ora」に追加して接続可能にしていました。
そこで相手先のドライバがSQLserverへ変更となり、「DBA_DB_LINK」と「tnsnames.ora」を再作成しましたが、接続できません。
(ちなみに↑のDB_LINK名と「tnsnames.ora」のネットサービス名は同じ名前にしています)
… tnsnames.oraの中身
Testdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ●●)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = Testdb)
)
)
…batファイルのSQL構文の一部
sqlplus [ユーザー名]/[パスワード]@データベース名
INSERT INTO〜
SELECT 〜
FROM テーブル名@Testdb
WHERE 〜
…
SQLserverへ変更された事により、環境の部分で不足している事や構文のミス等がないかをご教示いただきたいです。
色んなサイトで調べたりはしたのですが、分からなくなってしまい、助けていただきたく投稿しました。
質問も受け付けますので、サポートいただけたら嬉しいです。
よろしくお願いいたします。
【追記】
SQL構文について、追記いたします。
【今までのSQL(oracle⇔oracle)】
INSERT INTO ORA1_TABLE
SELECT * FROM ORA2_TABLE@DBLINK_A;
WHERE DBLINK_A.カラム1='●';
↓
【やりたいこと(oracle⇔SQLserver)】
INSERT INTO ORA_TABLE
SELECT * FROM SQLSRV_TABLE@DBLINK_A;
WHERE DBLINK_A.カラム1='●';
oracle内にホストがSQLserverのデータベースリンクを作成し、↑のようなSQLを組んでoracle内に有るテーブルにデータを入れることを目的にしています。