Kori 3월 31일, 2022에 포스트됨 공유하기 3월 31일, 2022에 포스트됨 Docwiki에 있는 "Working with Commands (FireDAC)"을 번역한 글 (번역일: 2022년 3월 31일) 위로 가기: FireDAC FireDAC에서 "SQL 명령(command)을 실행하는 방법", "데이터와 메타데이터를 교환하는 방법" 등을 설명한다. 주제 (Topics) 주제 설명 명령 텍스트 전처리하기 FireDAC은 SQL 명령문을 전처리하는 능력이 강력하다. 프로그래머는 DBMS로부터 독립적인 SQL 명령을 작성할 수 있으며 동적으로 SQL 명령(dynamic SQL)을 만들 때에도 더 유연하다. 전처리기에는 대체 변수(substitution variables), 이스케이프 시퀀스(escape sequences), 이스케이프 함수(escape functions), 조건 이스케이프(conditional escapes) 등이 포함된다. 명령(command) 실행하기 FireDAC에서 "TFDQuery 컴포넌트", "TFDCommand 컴포넌트", "TFDConnection의 일부 메소드" 등을 사용하면, SQL 명령을 실행한다. "SQL 명령(command)"은 SQL 데이터베이스와 대화하는 주요 방식이다. 저장 프로시저 실행하기 FireDAC에서 "TFDStoredProc 컴포넌트"를 사용하면, 데이터베이스에 있는 저장 프로시저(stored procedure)를 실행한다. 또한 저장 프로시저를 직접 실행할 수도 있다. 테이블 조회하기 (browsing tables) FireDAC에서 TFDTable 컴포넌트를 사용하면, 데이터베이스 테이블 둘러보기, 레코드 정렬/필터링, 데이터 편집 등을 할 수 있다. 데이터베이스 알림 FireDAC에서 TFDEventAlerter 컴포넌트를 사용하면, 데이터베이스 경고(alert)를 듣고, 받은 경고를 보내고, 관리할 수 있다. 데이터베이스 변경 공지 FireDAC에서는 TFDEventAlerter 컴포넌트를 확장 적용하면, 데이터 상의 변경을 추적하여 기록 할 수 있다. 행 담아오기 (Fetching Rows) DBMS는 SQL 명령(command)이 실행되고 행(row)을 반환할 때, DBMS 서버에 커서(cursor)를 하나 만든다. FireDAC에는 커서를 처리하고 행(row)을 클라이언트 레코드 캐시로 담아오는 작업을 효율적으로 처리할 수 있는 방대한 기능이 들어있다. 명령 묶음 (Command Batches) FireDAC은 명령 묶음 일괄 처리를 지원하므로 SQL 명령문 여러개를 단번에 실행하고 결과 세트 여러개를 순서대로 처리할 수 있다. Array DML FireDAC에는 성능이 매우 높은 Array DML 기능이 있다. 표준 INSERT, UPDATE SQL 명령을 사용하여 방대한 데이터를 데이터베이스로 옮길 수 있다. Array DML 명령 수행 성능 Array DML 기능의 높은 수행 성능에 대해 설명한다. 이 글은 코드 몇줄 만으로 레코드 수천개를 1초만에 삽입(Insert) 하는 간단한 예제를 살펴본다. Asynchronous Execution FireDAC에는 비동기 동작 실행을 위한 여러가지 기능이 있다. 멀티-쓰레드를 사용할 수 있는 애플리케이션 개발 뿐만 아니라, 개발자가 멀티-쓰레드 구현 작업을 처음부터 손쉽게 할 수 있다. 데이터 액세스 작업 실행의 시점 관리를 할 수 있기 때문이다. 여기에는 Execute, Open, Fetch 작업이 포함된다. Executing SQL Scripts 데이터베이스 대부분에는 백-엔드 관리 도구(utility)가 제공되고 여기에서 SQL 스크립트를 실행한다. 스크립트는 DBMS의 SQL 스크립트 구문에 알맞게 여러 중릉 사용하여 작성된다. SQL 스크립트를 실행하려면 TFDScript 컴포넌트를 사용한다. 로컬 SQL (Local SQL) FireDAC에는 Local SQL 이라는 유연한 기능이 있다. 데이터 소스(data source)로 사용하는 "TDataSet의 자손"을 대상으로 SQL 쿼리를 실행할 수 있다. BLOB Streaming FireDAC에는 BLOB 스트리밍 기능이 있다. 대용량 데이터를 데이터베이스와 교환할 수 있다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.