Oacle 과 sqlserver 상호 방문

Oacle 과 sqlserver 상호 방문
Oacle 과 sqlserver 상호 방문                                      
by HuiYi_Love from ITPUB
Oacle 과 sqlserver 상호 방문!
며칠 전에 일 때문에 Oacle 에서 sqlserver 데 이 터 를 찾 은 자 료 를 찾 았 습 니 다. 테스트 에 성 공 했 습 니 다. 정리 해서 붙 여 주세요!요구: Oracle 에서 SqlServer 를 가 져 올 수 있 는 데이터 환경: Oracle Db: Linux + Oracle 9i Enterprise Edition Release 9.0.1.1.1 - Production IP: 192.168.1.52 (TOPPROD) MSQLDB: Windows 2000 + SqlServer 2000 IP: 192.168.1.50 (ERPSQL),테스트 사용자: sa / pass 테스트 데이터 시트: EK. ACPTA 게 이 트 웨 이: WindowsXp + Oracle9i Enterprise Edition Release 9.0.1.1.1 - Production IP: 192.168.1.221 (S0504027), 테스트 단계 에 있 기 때문에 게 이 트 웨 이 는 내 가 사용 하 는 기계 에 설치 되 어 있 고 게 이 트 웨 이 는 MSQLDB 에 설치 할 수 있 습 니 다. 1. ODBC 유 니 버 설 방식 으로 연결 할 수 있 습 니 다.
  :
    
// A. HS
//      HS , SYS.HS_BASE_CAPS !
// B. ODBC
//      " DNS" "ODBC FOR SQLSERVER", :[ERPSQL]
// C. TNSNAMES.ORA, :ORACLE_HOME\NETWORK\ADMIN, ORACLEDB(192.168.1.52) !
Lnk2sql =                  # tnsName
  (DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.221)(PORT = 1521))     # IP
     )
    (CONNECT_DATA =
        (SID = hs4sql)    #SID, SID !
    )
    (HS=OK)
// D. listener.ora, :ORACLE_HOME\NETWORK\ADMIN
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.221)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =         #
        (SID_NAME = hs4sql)
        (ORACLE_HOME = D:oracleora9i)
        (PROGRAM = hsodbc)   # HS .
    )
  )
// E.
// F. ORACLE_HOME\HS\ADMIN init.ora, iniths4sql.ora, SID=hs4sql
HS_FDS_CONNECT_INFO = ERPSQL     # B ODBC
HS_FDS_TRACE_LEVEL = 0
// G. DB LINK,
SQL>  create database link ora2sql connect to "sa" identified by "pass" using 'Lnk2sql';

Database link created

SQL> select ta001,ta002 from acpta@ora2sql where rownum<5;

TA001 TA002
----- -----------
S710  20020306001
S710  20020315001
S710  20020325001
S710  20020326001
------------

2. '투명 게 이 트 웨 이' 방식 으로 연결
  :
    
// A. , , TRANSPARENT GATEWAY FOR SQLSERVER , oracle_homeora90\tg4msql !
// B. TNSNAMES.ORA, :ORACLE_HOME\NETWORK\ADMIN, ORACLEDB(192.168.1.52) !
TG4MSQL =           # tnsName
    (DESCRIPTION =
      (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.221)(PORT = 1521))     # IP
      )
      (CONNECT_DATA =
        (SID = tg4msql )  #SID, SID !
      )
    (HS=OK)
    )
// C. listener.ora, :ORACLE_HOME\NETWORK\ADMIN
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.221)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = tg4msql)
      (SID_NAME = tg4msql)
      (ORACLE_HOME = D:oracleora9i)
      (PROGRAM= tg4msql)
    )
  )
// D.
// E. ORACLE_HOME\TG4MSQL\ADMIN init.ora, inittg4msql.ora, SID=tg4msql
#HS_FDS_CONNECT_INFO="SERVER=ERPSQL;DATABASE=EK", , , !
HS_FDS_CONNECT_INFO=ERPSQL.EK
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
// F. DB LINK,
SQL>  create database link msql2 connect to "sa" identified by "pass" using 'TG4MSQL';

Database link created

SQL> select ta001,ta002 from acpta@msql2 where rownum<5;

TA001 TA002
----- -----------
S710  20020306001
S710  20020315001
S710  20020325001
S710  20020326001
--------
  :
    
-- , " " " "
SQL> set timing on
SQL> select ta001,ta002 from acpta@ora2sql where rownum<10;

TA001 TA002
----- -----------
S710  20020306001
S710  20020315001
S710  20020325001
S710  20020326001
S710  20020328001
S710  20020329001
S710  20020419001
S710  20020422001
S710  20020425001

9 rows selected

Executed in 0.047 seconds

SQL> select ta001,ta002 from acpta@msql2 where rownum<10;

TA001 TA002
----- -----------
S710  20020306001
S710  20020315001
S710  20020325001
S710  20020326001
S710  20020328001
S710  20020329001
S710  20020419001
S710  20020422001
S710  20020425001

9 rows selected

Executed in 52.281 seconds
--------

3. SQLSERVER ORACLE 환경 방문: windowsxp + sqlserver 2000 + Oracle 9i Enterprise Edition 출시 9.0.1.1.1 - 생산 IP: 192.168.1.221
  :
    
// A. ODBC,OdbcName=DB,OracleSid=DB
// B.
sp_addlinkedserver 'LIORA', 'Oracle', 'MSDAORA', 'DB'
GO
EXEC sp_addlinkedsrvlogin  @rmtsrvname='LIORA',@useself='false',@locallogin='sa',@rmtuser='SYSTEM',@rmtpassword='MANAGER'

select top 10 topic,info from LIORA..SYSTEM.HELP
topic                                              info                                                                             
-------------------------------------------------- --------------------------------------------------------------------------------
@                                                  NULL
@                                                   @ ("at" sign)
@                                                   -------------
@                                                  NULL
@                                                   Runs the SQL*Plus statements in the specified command file. The command
@                                                   file can be called from the local file system or from a web server.
@                                                  NULL
@                                                   @ {uri|file_name[.ext]} [arg...]
@                                                  NULL
@                                                   where uri supports HTTP, FTP and gopher protocols in the form:

( 10 )



http://publishblog.blogchina.com/blog/tb.b?diaryID=5059542

좋은 웹페이지 즐겨찾기