database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 11843 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 11843
Oracle 8i Database를 SQL Server 2000에 Linked Server로 연결하기 위한 연결 설정
작성자
정재익(advance)
작성일
2002-08-29 16:48
조회수
7,324
첨부파일: p.zip (416,958bytes)

Oracle 8i Database를 SQL Server 2000에 Linked Server로 연결하기 위한 연결 설정

 

원본출처 : http://www.zdnet.co.kr/develop/backend/db/article.jsp?id=47942&forum=0

 

손정민 (데브피아)

2002/04/11

 

 

SQL Server 2000에 Oracle 8i DB를 연결하기 위해서는 SQL Server 2000이 설치된 시스템에 Oracle 8i Client가 설치돼 있어야 한다. Microsoft OLE DB/ODBC Provider for Oracle는 연결 후 몇 가지 버그가 발생한다는 리포트에 따라 이번 장에서는 Oracle에서 제공하는 OLE DB Provider를 사용하기로 결정했다.

 

일단 Oracle 8i Client for Windows 95/98/2000/NT가 제대로 설치됐는지 확인해보자.

 

[img]1

 

시작 > 프로그램 > Oracle XXXX(이때 XXXX는 설치할 때 지정한 Oracle Instance명이다) > Network Administration > Net8 Assistant를 실행한다.

 

Net8 Assistant에서는 Oracle 8i DB에 관한 현재 네트워크 설정, 서비스 이름, 리스너구성 등의 정보를 설정할 수 있다.

 

서비스 이름이란 특정 Oracle DB의 SID라고 볼 수 있다.

 

TCP/IP를 통해 외부에서의 접속을 허용하고 싶으면, 리스너를 구성해야 하며, 동시에 윈도우의 서비스 항목 중 OracleXXXXTNSListener 항목이 시작돼야 한다.

 

[img2]

 

[img3]

 

[img4]

 

기본적인 리스너구성이라든지, 서비스 이름 구성은 Oracle 관련 서적을 참고하도록 하자.

 

Oracle 8i DB의 서비스 이름과 리스너구성이 완료됐는지 확인해야 한다.

시작 > 프로그램 > Oracle XXXX > Application Development > SQL Plus를 실행한다.

 

[img5]

 

SQL Plus에서는 기본적인 Oracle DML과 DDL의 실행이 가능하다.

 

[img6]

 

사용자 이름에는 system, 암호에는 manager, 호스트 문자열에는 서비스 이름으로 지정해 놓은 설정 값을 입력한다.

 

system계정은 DB 설치 시, 기본적으로 생성되는 계정이다.

 

SQL Plus 접속 후 기본 DML의 사용이 가능하다면 Oracle에서의 설정은 끝났다고 보자.

 

이제 SQL Server로 여행을 떠나보겠다.

 

[img7]

 

SQL에서의 설정은 의외로 간단하다.

 

Microsoft SQL Servers > SQL Server Group > 해당 Instance > Security > Linked Servers를 클릭한다. 오른쪽 마우스버튼을 클릭하여, New Linked Server를 선택한다.

 

[img8]

 

New Linked Server를 선택하면, 다음과 같은 화면이 나온다.

 

[img9]

 

Linked server에는 사용자가 알기 쉬운 이름을 지정해준다. 기본적인 DML에서 사용하듯이, [Server name].[database].[schema].[table]에서 Server name에 해당하는 사항이다.

 

Server type에는 Other data source를 지정해 준다.

 

Provider name에는 아이러니컬하게도 서두에서 설명한 Microsoft OLE DB Provider for Oracle을 사용했다.

 

무슨 이유인지는 모르겠지만 Oracle Provider for OLE DB를 사용했을때는 계속적인 에러발생으로 더 이상 진행되지 않았다.

 

Data source에는 Oracle 8i Database에서 설정한 서비스 이름을 지정한다.

 

Provider string에는 MSDAORA를 입력한다. MSDAORA가 Provider이름이다.

 

General 탭의 설정이 완료됐으면, Security 탭으로 이동한다.

 

Security 탭에서는 해당 Database에 접속하는 로그인 계정에 대한 설정을 완료한다.

 

[img10]

 

Be made using this security context를 선택하고, Remote login에는 system, With password에는 manager를 입력하자.

 

확인을 클릭하면, 아무런 경고 메시지나 알림 메시지가 없이 setting창이 닫힌다.

 

주의할 점은 현재까지는 연결에 대한 confirm이 안된 상태이다. 다시 말해서 Linked Servers setting이 완료되는 시점에는 connection에 대한 테스트가 전혀 수행되지 않은 상태이다. 따라서 setting상의 문제점이나 network failure에 대한 보장이 없다.

 

따라서 아래와 같은 방법으로 연결 설정을 확인해 볼 필요가 있다.

 

Microsoft SQL Servers > SQL Server Group > 해당 Instance > Security > Linked Servers > LLLL(여기서 LLLL은 방금 설정한 Linked Server의 연결이름이다) > Tables 혹은 Views를 클릭한다.

 

우측 화면에 Security 탭에서 설정해준 schema로 access가능한 table이나 view의 목록들이 출력될 것이다.

 

여기서 특정 오류가 발생하면 Oracle 8i Database에 대한 설정을 다시 짚고 넘어가길 바란다.

 

[img11]

 

이렇게 Linked Server로 등록하면 SQL Server의 특정 테이블에 대한 트리거 발생시 Oracle 8i DB의 데이터를 업데이트할 수 있다.

 

다음은 Query Analyzer로 접속 했을 때 사용하는 DML에 관한 짧은 예제이다.

 

[img12]

 

Select * From Ora8..SYSTEM.CUSTOMER

 

Ora8과 SYSTEM사이에는 아무런 객체가 지정되어 있지 않다. DB 객체가 있는 SQL Server와는 달리 Oracle에서는 schema 객체가 중심이 되어 쿼리를 날린다는 특징 때문에 DB명을 입력해야 하는 부분에는 아무런 값도 들어 있지 않은 것이다.

 

결론: SQL Server 2000에 Oracle 8i DB를 Linked Server로 연결하기 위해서는 Oracle 8i Client를 설치해야 한다. 이는 Microsoft OLE DB for Oracle을 이용하기 위해서는 Oracle client and networking components가 필요하기 때문이다.

 

Oracle에 관한 설정을 할 수 있는 DBA라면, SQL Server 2000에서 Oracle 8i DB를 Link시키는 작업이 그렇게 어렵지 않을 것이다. @

[Top]
No.
제목
작성자
작성일
조회
11933UTL_SMTP PACKAGE을 사용하여 E-MAIL을 GENERATE하는 과정
정재익
2002-09-07
8954
11932VARRAY 사용시 ORA-6533 ERROR
정재익
2002-09-07
8861
11870Oracle9i 리눅스용 설치 가이드
정재익
2002-08-31
7518
11843Oracle 8i Database를 SQL Server 2000에 Linked Server로 연결하기 위한 연결 설정
정재익
2002-08-29
7324
11776Oracle XA and TP Monitor FAQ
정재익
2002-08-23
6414
11537RedHat 7.1 에서 Oracle 8.1.7 의 설치법
정재익
2002-07-31
9116
11513Oracle Performance Tuning
정재익
2002-07-29
7788
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.069초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다