.net 과 오라클 연동에 대하여

2010.05.12 08:42

조인상 조회 수:10334

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

ODP.NET 라 해서 보다 성능향상을 기대할 수 있는 프로바이더가 존재하나...

그것은 8.1.7.2.0 버젼 이상의 오라클에서만 지원한다고 한다.

내가 다니는 사무실에서 사용하고 있는 오라클의 버젼은 8.1.6.0.0 이기 땜시,

오라클 클라이언트를 이용한 연동방법에 대해 알아보자.



닷넷에서 오라클 클라이언트를 이용하여 연동하는 방법

일단, 오라클 클라이언트가 설치 되어 있는지부터 확인한다.

확인방법은 참조추가에서 구성요소 이름으로 OracleClient가 존재하는지 여부를 확인하면 된다.

만약, 설치되어 있지 않다면,

오라클 클라이언트(Oracle 전용 프로바이더로, OLE DB보다 성능이 좋다구 함)를 설치한다.
마소의 다운로드 페이지에서 oracle 이라고 검색해 보면, 쉽게 구할 수 있다.
설치 후, tansnames.ora 파일에 서비스를 추가한다.



tnsnames.ora는 뭔가?
  - 오라클 Client측에서 오라클 서버로 접속할 때 필요한 프로토콜 및 포트번호, 서버주소, 인스턴스등을 설정해주는  파일로서 클라이언트에 위치 한다.
  - tnsnames.ora파일의 위치는 ORACLE_HOME/network/ADMIN/에 존재한다.
  - tnsnames.ora는 오라클 설치시 Net8 configuration 작업을 해주면 생성된다.


[예]
service_name =
  (DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = database_name)
  )
  )



OracleClient.dll을 참조 추가한다. 참조없이 using은 불가능하다.



C#을 기준으로,
using System.Data.OracleClient;



연결문자열
Data Source=serivice_name;User ID=user_name;Password=password;

오라클 전용 프로바이더이므로, 연결문자열에 Provider를 지정하지 않았다.



** 참조사이트  odp.net
서버에 요청 중입니다. 잠시만 기다려 주십시오...