仕事の都合上OracleからSQLServerにリンクを貼って
データを取って来ないといけなくなったのでデータベースリンクの設定をしました。

忘れないようにメモっときます♪

まずは、ODBCでSQLServerへの接続を作成します。
これは、そのへん調べてもらったら出てくるので今回は省略します。

次に、設定ファイルを変更&作成していきます。
変更するファイルは3つ!

1、tnsnames.oraに設定を追加

MSSQLDB=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA = (SID = msodbc))
(HS = OK)
)

赤と青いところは任意で名前をつけてください

2、lisner.oraに設定を追加

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = msodbc)
(ORACLE_HOME = ORACLE_HOMEのパス)
(PROGRAM = hsodbc)
)
)

青い部分は先程のtnsnames.oraの青い部分と一緒にしてください。

3、%ORACLE_HOME%/hs/admin/initmsodbc.oraを作成

HS_FDS_CONNECT_INFO = ODBC_OGC
HS_FDS_TRACE_LEVEL = OFF

ファイル名は、「init+”tnsnames.oraの青い部分“+.ora」です。
HS_FDS_CONNECT_INFOにはSQLServerへのODBC接続の名前を指定します。

これで設定ファイルの変更&追加は終了です。
この時点でリスナー(Oracle~~~~TNSListenerというサービス)を再起動してください。

あとは、「create public database link」 コマンドを使ってリンクを作成すれば完成です。

CREATE [PUBLIC] DATABASE LINK <データベースリンク名> 
CONNECT TO <ユーザ名> IDENTIFIED BY <パスワード> USING <DB接続名>

コマンドの細かいところはこのサイトを見ました。

この作成したデータベースリンクを使用する際はこんな感じで使います。

select * from <テーブル名&gt@<データベースリンク名>

思ってたより遅くないんでびっくりしました!
これは便利かも♪