여러분의 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" 오류 발생 시

연결 설정 후 아래와 같은 오류가 발생하는 경우

oci.png

오라클 클라이언트 v 9.0 이상을 설치하시기 바랍니다.(유니코드 지원)

운영체제가 64비트이더라도, 32bit Windows 용 오라클 클라이언트 라이브러리를 설치하시기 바랍니다.(RAD 스튜디오 IDE가 32비트 입니다.)

 

기타 오라클 서버 질문 참고

엠바카데로 기술문서의 오라클 서버 질문 페이지를 참고하시기 바랍니다.

참고


번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 22599
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 21032
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 23086
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 28892
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 30055
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 25399
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 46352
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 182352
483 [XE8] 네이티브 iOS 컨트롤 지원 Humphery 2015.04.13 863
482 [XE8] iOS 64bit 앱개발과 유니버설(armv7 + arm64) 앱개발 [1] Humphery 2015.04.13 1420
481 [XE8] Android 단말기 연결안될때 SDK 확인 및 설치 Humphery 2015.04.11 1995
480 reFind.exe: 마이그레이션 작업에서 수작업을 줄여주는 도구 Humphery 2015.04.09 4100
479 모바일 앱 라이프사이클 이벤트 처리하기 Humphery 2015.04.09 1613
478 모바일 앱 라이프 사이클 이벤트 처리하기(앱 완전 구동 후 실행하기) [1] Humphery 2015.04.09 981
477 웹에서 어플리케이션 구동하기(ActiveX 사용않고) Humphery 2015.04.09 1477
476 iOS 64bit 배포 시 ITMS-90092 오류 대응 [1] file Humphery 2015.04.09 1582
475 [무료 세미나] 초대합니다! RAD Studio XE8 출시 세미나!(서울&대구) 관리자 2015.04.08 3735
474 [FireDAC Skill Sprints] 8. TFDMemTable: 메모리 기반 데이터셋 사용하기 Humphery 2015.04.06 2697
473 [FireDAC Skill Sprints] 9. LocalSQL: DB에서 가져온 데이터(데이터셋)를 대상으로 다시 SQL쿼리 실행하기 Humphery 2015.04.01 2038
472 [FireDAC Skill Sprints] 7. FireDAC ETL: 데이터 내보내기, 가져오기 기능 구현하기 Humphery 2015.04.01 2195
471 [FireDAC Skill Sprints] 1. FireDAC 소개 험프리 2015.04.01 1640
470 [다음 버전 정보] 비콘(Beacon)으로 접근감지하기 Humphery 2015.03.26 2827
469 "모바일 앱" 개발 또는 유지관리, 데브기어와 해결하세요! file 관리자 2015.03.26 12811
468 최신 업데이트와 패치정보 확인하는 방법 file Humphery 2015.03.26 910
467 이 달의 기술자료 - 2015년 04월 험프리 2015.03.26 5725
466 [다음 버전 정보] iOS 용 64비트 앱 만들고 배포하기 file Humphery 2015.03.25 1114
» [따라하기] FireDAC으로 오라클(Oracle) DB와 연결하기 험프리 2015.03.24 3170
464 아이들이 재미있어 할만한 델파이(파이어몽키) 프로젝트 동영상 따라하기 Humphery 2015.03.24 1196