티스토리 뷰



닷넷 환경에서 오라클 데이터베이스에 접속할 수 있는 방법은 여러가지가 있을 수 있지만 가장 권장할 만한 방법은 ODP.Net을(Oracle Data Provider for .NET) 사용하는 것입니다.


사실 닷넷 프레임워크에는 위의 그림처럼 System.Data.OracleClient라는 네임스페이스가 존재합니다. SQL Server처럼 오라클 데이터베이스도 별다른 드라이버 설치 없이 간편하게 사용할 수 있겠다 싶습니다. 실제로 동작하는 부분이 있기도 합니다. 

그렇지만, 위의 그림에서 설명하고 있는 것처럼 마이크로스프트에서는 더이상 오라클 데이터베이스에 대한 지원을 하지 않고 있고 삭제 예정임을 분명히 하고 있습니다. 닷넷 환경에서 안정적으로 오라클 데이터베이스를 사용하려면 Oracle Data Provider for .NET (ODP.NET)을 사용하는 것이 지혜로운 선택으로 보입니다.

ODP.Net은 무료로 사용할 수 있는 ADO.Net 호환 드라이버로 "Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio" 패키지에 포함되어 있으며 http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html에서 다운로드 받을 수 있습니다.


상단의 "Accept License Agreement"를 클릭하고 "ODTwithODAC121024.zip" 링크를 클릭하면 ODAC를 다운로드 받을 수 있습니다.(오라클 아이디로 로그인해야 하는데, 아이디가 없다면 무료 회원 가입으로 아이디를 만드셔야 합니다)


다운로드 받은 파일을(ODTwithODAC121024.zip) 임시 디렉토리에 압축 해제하고 설치를 시작합니다.


OUI(Oracle Universal Installer)가 시작되면 설치 언어를 "한국어"로 선택하고 [다음]으로 진행합니다.


오라클 홈 사용자는 기본 설정으로 해서 [다음]으로 진행합니다.


연관 파일의 설치 위치를 지정하고 [다음]으로 진행합니다.


설치할 구성 요소는 ODP.NET과 함께 비주얼스튜디오에서 오라클 관련 디자인 작업에 필요한 구성요소를 위의 그림과 같이 선택합니다.


설정 선택은 기본 설정으로 [다음]으로 진행합니다.


설치를 위한 환경을 검사하고 


문제가 없으면 [설치] 버튼으로 설치를 시작합니다.


설치에 몇분이 소요되므로 완료까지 기다립니다.


tnsnames.ora등을 사용하는 경우 위의 화면에서 안내하는 경로를 참조해서 해당 경로의 파일을 편집해야 합니다. [닫기]로 설치를 종료합니다.



닷넷 프로젝트에서 ODP.NET을 사용하기 위해서 프로젝트>참조>참조추가로 ODP.NET에 대한 참조를 추가해 주어야 합니다. .NET 탭에서 "Oracle.ManagedDataAccess"를 찾아 [확인]으로 추가합니다. 주의할 점은 앞선 ODAC 설치 과정에 비주얼스튜디오가 실행중 이었다면 비주얼스튜디오를 재가동시켜 주어야 합니다. ODP.NET은 크게 두가지 형태로 배포하고 있는데 위의 그림에서 "Oracle.DataAccess"를 Unmanaged 드라이버라 부르고 "Oracle.ManagedDataAccess"를 Managed 드라이버라 부릅니다. 닷넷 코드로 만들어진 드라이버인 Managed 드라이버는 32/64비트에 관계없이 프로그램을 배포할 수 있는 등 배포 과정이 용이한 장점이 있습니다. 본 글에서는 Managed 드라이버에 사용하는 것으로 코드를 작성했습니다.

using Oracle.ManagedDataAccess.Client;

using Oracle.ManagedDataAccess.Types; 

위의 코드처럼 using문을 통해서 참조 추가로 설정한 ODP.NET Managed 드라이버의 클래스를 사용하도록 지정합니다. 아래는 SQL Server와 대비한 ODP.NET Managed 드라이버의 사용법 입니다.

  • SqlConnection -> OracleConnection
  • SqlCommand -> OracleCommand
  • SqlDbType -> OracleDbType
  • SqlException -> OracleException
  • SqlDataReader -> OracleDataReader



댓글
댓글쓰기 폼