Kori 2월 2일, 2022에 포스트됨 공유하기 2월 2일, 2022에 포스트됨 Docwiki에 있는 "Connect to Oracle Server (FireDAC)"를 번역한 글 (번역일: 2022년 2월 3일) 위로 가기: Database Connectivity (FireDAC) 이글은 오라클(Oracle) 데이터베이스에 연결하는 방법을 설명한다. 목차 지원버전 클라이언트 소프트웨어 윈도우용 클라이언트 소프트웨어 즉석 클라이언트 사용하기(Using Instant Client) 맥OS 클라이언트 소프트웨어 리눅스 클라이언트 소프트웨어 드라이버 연결 연결 정의 파라미터 사용 사례 (Use Case) 관련 도움말 (See Also) 지원버전 FireDAC 네이티브 드라이버는 Oracle Enterprise, Standard (구. Workgroup), Express (구. Personal) 서버 에디션 버전 8.0.3 이상을 지원한다. 델파이를 기준으로 보다 자세히 설명된 도움말은 "FireDAC으로 오라클 사용하기" 이다. 클라이언트 소프트웨어 윈도우용 클라이언트 소프트웨어 FireDAC으로 오라클을 연결하려는 컴퓨터에는 오라클 클라이언트 (x86 또는 x64) 소프트웨어가 아래 두가지 중 한가지 유형으로 설치되어 있어야 한다. "Fat" 오라클 클라이언트 (다운로드) -- 일반적인 표준 설치 절차를 따라 별도로 설치한다. (설치할 때 기본 설정을 따르는 경우) FireDAC의 오라클 드라이버는 오라클 홈 경로에 설치된 오라클 클라이언트를 사용한다. "Thin" 오라클 즉석 클라이언트 (다운로드) -- (따로 명시하지 않는 경우) FireDAC에 있는 오라클 드라이버는 PATH에 지정된 폴더 또는 오라클을 사용하는 애플리케이션 EXE가 들어있는 폴더 안에 복사된 이 즉석 클라이언트를 사용한다. (즉, 애플리케이션과 같이 배포할 수 있다) 만약 오라클 클라이언트 소프트웨어가 제대로 설치되지 않았다면, 연결하려고 할 때 아래 예외가 발생된다. [FireDAC][Phys][Ora]-1309. OCI is not properly installed on this machine (NOE1/INIT) 즉석 클라이언트 사용하기(Using Instant Client) 즉석 클라이언트를 설치하려면, Oracle 다운로드 페이지에서 Instant Client (x86 또는 x64)를 다운로드 한 후, 압축을 풀고, 아래 파일들을 복사한다. oci.dll oraocci11.dll oraociei11.dll orasql11.dll 오라클을 사용하는 애플리케이션 EXE가 들어있는 폴더 또는 PATH에 지정된 폴더 안에 복사한 파일을 넣는다. TNS 이름을 사용한다면, tnsnames.ora 파일을 같은 폴더 안에 넣거나, 또는, tnsnames.ora 파일이 있는 경로를 TFDPhysOracleDriverLink.TNSAdmin 프로퍼티 값에 지정한다. 또는, TNSAdmin 드라이버 구성 파라미터를 사용한다. TFDPhysOracleDriverLink.NLSLang 프로퍼티에 필요한 값을 지정하거나 NLSLang 드라이버 구성 파라미터를 사용한다. 맥OS 클라이언트 소프트웨어 FireDAC 요구 사항: libclntsh.dylib x86 클라이언트 라이브러리 이 파일을 맥OS용 즉석 클라이언트로 다운로드 받을 수도 있다 (자세히 보기) 설치하는 방법 즉석 클라이언트 (Instant Client) 설치 - 오라클 즉석 클라이언트 기본 설치를 진행하는 단계; SQL*Plus 즉석 클라이언트 (Instant Client) - 오라클 즉석 클라이언트 고급 설치, 언어 설정, TNS 파라미터 설정 등등 리눅스 클라이언트 소프트웨어 리눅스 클라이언트 라이브러리를 설치하려면, libaio 라이브러리를 설치한다. Ubuntu Server 16.04 LTS에서 아래 명령 실행: sudo apt-get install libaio1 Red Hat Enterprise Linux 7에서 아래 명령 실행: sudo yum install libaio 리눅스용 즉석 클라이언트 (Instant Client)를 아래 도움말 중 하나를 따라 설치한다. 즉석 클라이언트 (Instant Client) 설치 - 오라클 즉석 클라이언트 기본 설치를 진행하는 단계; SQL*Plus 즉석 클라이언트 (Instant Client) - 오라클 즉석 클라이언트 고급 설치, 언어 설정, TNS 파라미터 설정 등등 드라이버 연결 FireDAC의 오라클 드라이버를 연결하려면, TFDPhysOracleDriverLink 컴포넌트(툴 팔레트에서 FireDAC Links 카테고리를 열면 찾을 수 있다)를 폼 위에 올려 놓는다. 또는 FireDAC.Phys.Oracle 유닛을 uses 절 안에 넣어서 포함(include) 한다. 연결 정의 파라미터 일반적인 경우 애플리케이션에서 오라클 DBMS를 연결하려면 DriverID, Database, User_Name, Password가 지정되어 있어야 한다. (자세한 내용은 [DocWiki 번역] 연결을 정의하기 (FireDAC)를 참고) DriverID=Ora 파라미터 설명 값 (예시) Database 이 값은 다음 중 하나가 될 수 있다: TNS alias name -- 어느 데이터베이스에 연결할 지를 명시. TNS connection descriptor -- TNSNames.ora 파일 안에 있는 대로. Oracle connection string -- SQL*Plus에 있는 대로. Oracle easy connect string -- 여기에 설명된 대로 OraSrv (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = OraSrv)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = orcl))) scott/tiger@OraSrv system/manager@OraSrv as sysdba OraSrv:1521/orcl OSAuthent OS 인증을 사용하려면 Yes를, DBMS 인증을 사용하려면 No를 지정 No User_Name 오라클 user name, OSAuthent=No인 경우 Scott Password 오라클 user의 비밀번호, OSAuthent=No인 경우 tiger AuthMode 오라클 인증 모드: Normal -- 표준 사용자. 기본 설정 값. SysDBA -- 데이터베이스 어드민(administrator) 특권이 있는 사용자. SysOper -- 데이터베이스 운영자(operator) 특권이 있는 사용자. SysASM -- Oracle Automatic Storage Management 인스턴스(들)에 대한 데이터베이스 관리(administrative) 특권이 있는 사용자. SysBackup -- 백업 및 복구 작동에 대한 데이터베이스 관리(administrative) 특권이 있는 사용자. SysDG -- 오라클 Data Guard 작동에 대한 데이터베이스 관리(administrative) 특권이 있는 사용자. SysKM -- Transparent Data Encryption 키 작동에 대한 데이터베이스 관리(administrative) 특권이 있는 사용자. Note: 더 많은 정보는 Oracle Database Administrator's Guide 참고 Normal ReadTimeout 수신 또는 읽기 시간 제한(timeout) 값을 밀리초(milliseconds) 단위로 지정한다. 0으로 지정하면 시간 제한이 없다. 주의: 이 파라미터는 의도하거나 또는 비정상적으로 가끔 클라이언트가 꺼지는 환경에서 사용한다. 그렇지 않으면, 클라이언트가 꺼졌거나 장애를 겪고 있는 중에도 오라클 데이터베이스 서버는 데이터를 계속 기다리게 된다. WriteTimeout 오라클 데이터베이스 서버가 클라이언트에 보내기를 완료하기까지의 시간 제한(timeout) 값을 밀리초(milliseconds) 단위로 지정한다. 0으로 지정하면 시간 제한이 없다. 주의: 이 파라미터는 의도하거나 또는 비정상적으로 가끔 클라이언트가 꺼지는 환경에서 사용한다. 그렇지 않으면, 클라이언트가 작동하지 않는데도 오라클 데이터베이스 서버는 응답 보내기를 지속하게 된다. CharacterSet 오라클 연결에 사용될 문자 집합(character set). 별도로 명시하지 않으면, NLS_LANG 변수에 있는 값이 사용된다. UTF8 cl8mswin1251 BooleanFormat 불리언(Boolean) 값을 표현하는 방법을 정의한다: Choose -- 불리언(Boolean) 타입을 사용하여 PL/SQL 불리언(Boolean)을 표현한다. 기본 설정(default) 모드이다. 주의: 이 값은 오라클 12c 이상에서 사용할 수 있다. 오라클이 그 이전 버전에서 Choose를 선택하면, 인티저(Integer) 타입이 사용된다. Integer -- 인티저(Integer) 타입을 사용하여 PL/SQL 불리언(Boolean)을 표현한다. 이 경우, False = 0, True = 1 이다. String -- 스트링(String) 타입을 사용하여 PL/SQL 불리언(Boolean)를 표현한다. 이 경우, False = 'F', True = 'T' 이다. Choose ApplicationName 애플리케이션의 이름. 명시하면, 이 값이 V$SESSION의 MODULE 컬럼(column)에 저장된다. AllBooks OracleAdvanced 오라클 세션의 부가적인 옵션(들). 상세 내용은 ALTER SESSION SET 도움말에서 "Initialization Parameters and ALTER SESSION" 단락을 참고. 값을 지정하는 형식 - <option>=<value>[;...]. NewPassword 오라클 사용자의 새 비밀번호 명시. FireDAC은 기존 비밀번호를 사용하여 DB에 연결하고 나서 바로 비밀번호를 여기에 명시된 값으로 바꾼다. tiger2 MetaDefSchema 애플리케이션에서 사용할 기본 스키마(default schema)를 명시. 이 값이 MetaDefSchema와 같은 경우, 개발하는 코드(design time code)에서 해당 스키마 이름을 생략한다. SCOTT 사용 사례 (Use Case) tnsnames.ora 파일 안에 이미 정의된 TNS 이름을 사용하여 데이터베이스에 연결하기: DriverID=Ora Database=ORA_920_APP User_Name=ADDemo Password=a host, port, instance name 정보를 사용하여 데이터베이스에 연결하기: DriverID=Ora Database=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = OraSrv)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = orcl))) User_Name=ADDemo Password=a 로컬 데이터베이스에 sysdba 권한으로 연결하기 DriverID=Ora User_Name=sys AuthMode=sysdba TNS 이름을 사용하여 데이터베이스에 연결하고 비밀번호 바꾸기: DriverID=Ora Database=ORA_920_APP User_Name=ADDemo Password=a NewPassword=b 간편한 연결 문자열을 사용하여 데이터베이스에 연결하기: DriverID=Ora Database=OraSrv:1521/orcl User_Name=ADDemo Password=a 관련 도움말 (See Also) 공통 연결 파라미터 (Common Connection Parameters) FAQs FireDAC 드라이버를 구성하는 방법 (How to configure FireDAC Drivers) FireDAC 연결 정의를 관리하는 방법 (How to manage FireDAC Connection Definitions) 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.