여러분의 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 15513
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13977
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16517
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22079
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23302
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18946
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39293
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174742
154 [10.4.1 패치] 애플(APPLE) 플랫폼 지원 관리자 2020.11.30 465
153 [업데이트][핫픽스][10.2.1] 상속된 VCL 폼의 디스플레이 배율 미적용 버그 해소 file 험프리 2017.09.11 465
152 [10.3 리오][업데이트 3] 향상된 IDE 기능들 file 관리자 2019.12.03 464
151 20150512 [온라인세미나] 윈도우와 다양한 디바이스: 처음 만나는 RAD Studio XE8 관리자 2015.05.13 463
150 [10.4 시드니][업데이트 2] TCONTROLLIST – 새로운 VCL 컨트롤 관리자 2023.03.09 460
149 [무료 기술백서] 스마트한 크로스-플랫폼 앱 개발 관리자 2019.05.13 459
148 10.3.2 에서의 겟잇(GetIt) 설치 방법 안내 관리자 2019.08.12 455
147 이 달의 기술자료 - 2016년 12월 file 험프리 2016.11.24 455
146 [10.3 리오] RAD 서버 엔드 포인트 연동이 더욱 쉽고 다양해 졌습니다. 험프리 2018.12.06 453
145 [10.4 시드니 신기능] 개발환경 강화 관리자 2020.06.04 449
144 이 달의 기술자료 - 2017년 05월 file 험프리 2017.04.26 449
143 [10.2 도쿄] 디버거 기능 김원경 2017.03.23 448
142 [베를린 U2] 새로운 윈도우 10 스타일 적용하기 (1분 동영상) 험프리 2016.11.15 445
141 [프로그래밍 애피타이저] 3장 변수와 상수 file 김원경 2020.04.07 444
140 [발표자료] 20191205 기술브리핑! 20분만에 파악하는 RAD스튜디오 10.3.3 file 관리자 2019.12.05 443
139 이 달의 기술자료 - 2018년 12월 file 험프리 2018.11.30 443
138 [시애틀] 20개 이상의 IDE 생산성 기능들이 내장되어 생산성, 품질, 안정성이 향상됩니다. Humphery 2015.09.04 443
137 [시애틀] IDE 메모리 개선으로 더 큰 프로젝트를 더 빠르게 코딩하고, 더 빠르게 컴파일 할 수 있습니다. 험프리 2015.10.05 442
136 이 달의 기술자료 - 2016년 11월 험프리 2016.10.28 441
135 [프로그래밍 애피타이저] 10장 트랜잭션의 정의 file 김원경 2020.04.09 440