スポンサーサイト

--年--月--日 【 スポンサー広告


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

OracleからSQLServerへのDBLink接続(10g版)

2013年02月11日 【 001.DBLink


●Oracle10gのデータベースリンクを使用してODBC経由でSQLServerにつなぐ(連携)方法。

OS: Windows XP Professional SP3
DB: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0

1.ODBCの設定

 例として以下のようにする。

ドライバSQL Server
データソース名ODBC_DS
サーバーSQLSVR2008
認証方式パスワード認証
ログインIDuser1
パスワードpass

 ※ドライバ以外は各々の設定で


2.OracleDatabaseのインストール

 ORACLE_HOME: D:\oracle\product\10.2.0\db_1


3.SYS.HS_FDS_CLASSの存在確認

 SELECT * FROM SYS.HS_FDS_CLASS;


4.initmssql.oraの作成

 とりあえず「%ORACLE_HOME%\hs\admin\inithsodbc.ora」を
 同じフォルダにコピーして「initmssqlodbc.ora」作成する。

 HS_FDS_CONNECT_INFO =
 HS_FDS_TRACE_LEVEL =

  ↓↓↓↓

 HS_FDS_CONNECT_INFO = ODBC_DS
 HS_FDS_TRACE_LEVEL = OFF


 ※説明を分かりやすくするためにmssqlodbcに変更しただけなので
  inithsodbc.oraを使用してもOK
 ※HS_FDS_TRACE_LEVELは各々の設定で


5.listener.oraの設定

 「%ORACLE_HOME%\network\ADMIN\listener.ora」に追記する。

  SID_LIST_LISTENER =
  
    (SID_LIST =
     
    (SID_DESC =
       
      (SID_NAME = PLSExtProc)
       
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
       
      (PROGRAM = extproc)
     
    )
   
   )

  ↓↓↓↓

  SID_LIST_LISTENER =
      (SID_LIST =
          (SID_DESC =
              (SID_NAME = PLSExtProc)
              (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
              (PROGRAM = extproc)
          )
          (SID_DESC =
              (SID_NAME = mssqlodbc)
              (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
              (PROGRAM = hsodbc)
          )
      )

 ※hsodbc は固定値


6.tnsnames.oraの設定

 「%ORACLE_HOME%\network\ADMIN\tnsnames.ora」に追加する。

  SQL_TNS =
      (DESCRIPTION =
          (ADDRESS_LIST =
              (ADDRESS = (PROTOCOL = TCP)(HOST = orahost10g)(PORT = 1521))
          )
          (CONNECT_DATA =
              (SERVICE_NAME = mssqlodbc)
          )
          (HS = OK)
      )

 ※「orahost10g」はOracleDBのホスト名
 ※「SQL_TNS」は任意


7.LISTENERの再起動

 lsnrctl stop ⇒ lsnrctl start
 サービス"mssqlodbc"には、1件のインスタンスがあります。
  インスタンス"mssqlodbc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...


8.DBLINKの作成

 CREATE DATABASE LINK SQL_LINK CONNECT TO user1 IDENTIFIED BY pass USING 'SQL_TNS';


9.SQL実行

 SELECT * FROM SQL_TABLE@SQL_LINK;

 ※この時、タスクマネージャにhsodbc.exeというプロセスが立ち上がる


11g版はこちらから。
12c版はこちらから。


追記(2013/04/08):
OTN掲示板のこちらのスレッドがキッカケで調べた結果、
どうも64bit版10gはhsodbc.exeに対応していない模様。
代替策があるのかなどは今のところ不明。

プロフィール

Author:らんばーど





-*-*-*-*-*-*-*-*-*-*-*-*-

広く浅く、内容薄く。
自分のペースで楽しく学ぶ。

あなたに役立つ情報が
奇跡的にここで見つかれば
嬉しいですね。
※拍手歓迎(笑)

-*-*-*-*-*-*-*-*-*-*-*-*-

【64bit環境】
Windows7 Professional
Core i7-3930K C2-Step
16GB RAM

【32bit環境】
WindowsXP Professional
Core2 Duo E8600 3.33GHz
4GB RAM

-*-*-*-*-*-*-*-*-*-*-*-*-

【音楽の目指すポジション】

自分の気持ちを
素直に表現できる、
そんな音楽が
作れるようになりたい 

-*-*-*-*-*-*-*-*-*-*-*-*-

記述内容の正確性、
および動作保障等に関して
一切責任をもちません。

カテゴリ
ブログ内検索
最新記事
リンク
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。