.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
번호 제목 글쓴이 날짜 조회 수
115 exp error - ORA-19206: Invalid value for query or REF CURSOR parameter 조인상 2010.05.12 156640
114 centOS 5.2 에 오라클 10g 설치 조인상 2010.05.12 109931
113 오라클 온라인백업 스크립트 (ksh 용) [1] file 조인상 2010.05.12 100773
112 ORA-28040 : No matching authentication protocol 조인상 2014.11.13 67285
111 히든 파라미터 확인하는 쿼리 조인상 2010.05.12 62452
110 성능분석을 위한 v$sysstat, v$sesstat, v$system_event 조회 조인상 2011.09.27 50449
109 오라클 패치후 각 컴퍼넌트들 버전 확인 쿼리 조인상 2010.10.05 46338
108 exp실행시 에러. ORA-06512 SYS.DBMS_METADATA_INT 조인상 2010.05.12 32656
107 오라클 11g - ADR/ADRCI : 새로운 alertlog 위치 조인상 2011.05.17 29718
106 오라클에 접속하는 최대 인스턴스개수(세션개수)를 늘리는 방법 조인상 2010.05.12 24658
105 datafile, redolog, controlfile 위치 변경하기 조인상 2012.08.02 24619
104 일반유저에게 kill session 권한 주기 ischo 2019.08.12 22292
103 ORA-04063: package body "EXFSYS.DBMS_EXPFIL_EXP" has errors 조인상 2012.01.04 20764
102 온라인 백업방법 begin~end backup 조인상 2010.05.12 20673
101 windows용 오라클 온라인 백업 스크립트 file 조인상 2010.07.01 20143
100 SQL developer 실행시 jvm.dll 오류 발생 조치 방법 조인상 2013.01.23 19760
99 Oracle 설치문서에서 보는 ASM file 조인상 2012.03.30 19746
98 online backup(archive log mode) 조인상 2010.05.12 19439
97 ORA-01089 : 오라클 프로세스를 kill 한 후 로그인 못 할때 조인상 2010.06.20 19434
96 ORA-01555 : snapshot too old: rollback segment number %s with name \"%s\" too small ischo 2012.04.10 19263
서버에 요청 중입니다. 잠시만 기다려 주십시오...