공통 [따라하기] FireDAC으로 오라클(Oracle) DB와 연결하기
2015.03.24 20:05
여러분의 FireDAC 애플리케이션에서 DBMS와 접속하기 위해서는 DBMS 제조사에서 제공하는 네이티브 클라이언트 드라이버를 설치해야 합니다. 네이티브 클라이언트 드라이버는 각 제조사 홈페이지를 통해 다운로드 받아 설치할 수 있습니다.
오라클 서버에 접속하기 위해서는 오라클 클라이언트 소프트웨어를 설치해야 합니다.
오라클 클라이언트 소프트웨어
오라클 클라이언트 소프트웨어는 아래 2가지 방식으로 제공합니다.
- "Fat" 오라클 클라이언트 - 설치형 오라클 클라이언트 프로그램. 기본 오라클 홈경로에 설치된 오라클 드라이버 이용합니다.
- "Thin" 오라클 클라이언트 - 파일형 오라클 클라이언트 프로그램. 윈도우 PATH 또는 실행파일과 동일한 경로에 아래 라이브러리 복사해 사용합니다.
- oci.dll
- oraocci11.dll
- oraociei11.dll
- orasql11.dll
[따라하기] FireDAC을 이용해 오라클 서버와 연결하기
1, 오라클 클라이언트 소프트웨어 설치(Thin 오라클 클라이언트)
오라클 다운로드 페이지( http://www.oracle.com/technetwork/indexes/downloads/index.html )에서 Database > Instant Client 메뉴를 선택합니다.
델파이 개발환경에 맞는 Instant Client for Microsoft Windows (32-bit)를 선택합니다.
상단의 라이선스에 동의 하고
본인의 오라클 서버 버전의 파일을 찾아 다운로드 합니다.(저는 11.2.0.2 버전의 오라클 서버와 연결합니다.)
(로그인이 필요하니 오라클 계정이 없는 경우 계정 생성 후 로그인하여 진행합니다.)
zip 파일 다운로드 완료 후 압축을 해제합니다.
아래 4개 파일을 복사 후 RAD Studio 실행파일 경로(XE7 기준 기본경로: C:\Program Files (x86)\Embarcadero\Studio\15.0\bin)에 복사합니다.
(오라클에 접속할 애플리케이션의 실행파일 경로 또는 윈도우 PATH에 등록된 경로에 오라클 클라이언트 라이브러리가 있어야 합니다.)
- oci.dll
- oraocci11.dll
- oraociei11.dll
- orasql11.dll
2, 테스트 프로그램 작성
오라클 서버와 접속해 하나의 테이블 데이터를 DBGrid에 표시하며 오라클 서버 연결을 확인합니다.
사전 준비사항
개발PC에서 오라클서버와 접속 가능해야 합니다. 오라클에서 제공하는 SQL Plus 툴(다운로드: 오라클 서버 버전과 맞는 SQLPlus 다운로드)을 이용해 오라클 서버와 접속을 확인합니다.
화면구성과 필요 컴포넌트 추가
새로운 프로젝트를 생성합니다.(File > New > VCL Form Application - Delphi)
아래의 화면과 표를 참고해 폼에 컴포넌트를 추가합니다.
상위 오브젝트 |
오브젝트 |
속성 |
값(또는 설명) |
Form1 | DGGrid1 | Width, Height | 적당한 크기로 조정 |
FDConnection1 | |||
FDTable1 |
|
|
|
DataSource1 |
DataSet |
FDTable1 |
|
FDPhysOracleDriverLink1 |
|
|
|
FDGUIxWaitCursor1 |
|
|
오라클 서버 연결 설정
폼(또는 데이터모듈) 위에 TFDConnection 컴포넌트를 추가하고 추가한 컴포넌트를 더블클릭 해 "FireDAC Connection Editor" 대화상자를 표시하고 아래 정보를 입력합니다.
- Driver ID : Ora
- Database : 오라클서버의 주소(형식: IP주소:Port/ServiceName, 예> 192.0.0.1:1521/orcl)
- User_Name : 오라클 계정
- Password : 오라클 계정의 비밀번호
테스트 버튼을 눌러 입력한 정보가 정확한지 확인합니다.(로그인 창이 나오면 OK 버튼을 누릅니다.)
Connection Editor 창의 OK 버튼을 눌러 설정을 저장합니다.
TFDConnection 컴포넌트의 LoginPromt 속성을 False로 설정 후 Connected 속성을 True로 설정해 연결합니다.
오라클 서버의 데이터 조회 확인
테이블 컴포넌트(FDTable1) 선택 후 TableName 속성에서 조회할 테이블을 선택합니다.
FDTable1의 Active 속성을 True로 설정합니다.
DBGrid1의 DataSource를 DataSourc1으로 설정 해 테이블의 데이터가 DBGrid에 표시되는지 확인합니다.
3, 배포하기
애플리케이션 배포 시 오라클 클라이언트 드라이버의 라이브러리 4종을 실행파일과 같은 경로로 함께 배포합니다.
문제해결
"Cannot initialize OCI environment" 오류 발생 시
연결 설정 후 아래와 같은 오류가 발생하는 경우
오라클 클라이언트 v 9.0 이상을 설치하시기 바랍니다.(유니코드 지원)
운영체제가 64비트이더라도, 32bit Windows 용 오라클 클라이언트 라이브러리를 설치하시기 바랍니다.(RAD 스튜디오 IDE가 32비트 입니다.)
기타 오라클 서버 질문 참고
엠바카데로 기술문서의 오라클 서버 질문 페이지를 참고하시기 바랍니다.