Kori 4월 3일, 2022에 포스트됨 공유하기 4월 3일, 2022에 포스트됨 Docwiki에 있는 "Offlining Connection (FireDAC)"을 번역한 글: 번역일: 2022년 4월 4일) 위로 가기: [DocWiki 번역] 연결(connection)을 가지고 작업하기 (FireDAC) FireDAC 오프라인 (offline) 모드 사용법을 설명한다. 오프라인 모드에서는 데이터베이스 연결을 유지하지 않고도 데이터를 가지고 작업할 수 있다. 일반 (General) FireDAC 오프라인 (offline) 모드는 멀티-티어 클라이언트와 비슷하다. 즉 클라이언트는 거의 항상 데이터베이스와 연결이 끊고 있다가 데이터베이스와 데이터를 교환해야 할 때에만 연결을 활성화한다. 이 방식은 환경이 안정적이지 않거나 DBMS 자원을 아끼고 보존해야 할 때 유용하다. 오프라인 모드에서, 데이터베이스 연결(connection)은 닫힘(closed) 상태이지만, 데이터셋은 열림(opened) 상태이다. 오프라인 제어하기 (Controlling Offlining) 연결(connection)을 오프라인(offline) 모드가 되게 하는 방법은 다음 중 하나이다. TFDCustomConnection.Offline 메소드를 호출한다. TFDCustomConnection.OnRecover 메소드안에서 AAction=amOfflineXxxx 를 반환한다. FireDAC에서는 자동으로 연결(connection)을 오프라인 모드가 되게 할 수 없다. 그렇게 되면 다음번에 언제 데이터베이스에 접속해야 하는 지를 애플리케이션이 알 수 없기 때문이다. 따라서 애플리케이션 코드를 사용해서 처리해야만 한다. 연결(connection)이 오프라인 모드로 되기 전에는, 활성화된 데이터셋에 미처 담아오지 못한 결과 세트가 있다면 FetchOptions.AutoFetchAll 프로퍼티에 따라 해당 작업이 진행된다. 연결(connection)을 온라인(online) 모드가 되게 하는 방법은 다음 중 하나이다. 명시적 방법: TFDCustomConnection.Online 메소드를 호출한다. 암묵적 방법: DBMS에 연결하려고 할 때, 명령(command)를 실행하거나 업데이트 전송(post) 등을 진행한다. 주의: 반드시 ResourceOptions.AutoConnect가 True로 지정된 상태에서 수행해야 한다는 점이다. 그렇지 않으면 예외(exception)가 발생한다. 만약, 데이터셋에서 ResourceOptions.PersistentFileName 프로퍼티가 명시되어 있으면, 데이터셋에서 Open을 호출할 때, 연결이 필요없으며, 내용을 특정 파일로부터 로드한다. 주의: 연결을 오프라인 모드로 했다가 다시 온라인 모드로 하는 것은 데이터베이스 세션의 상태가 유실된다는 점에서 연결이 끊어졌을 때 복구하는 것과 유사하다. 자세한 내용은 연결 복구하기 글을 읽는다. 기타 자료 (See Also) TFDCustomConnection 클래스 [DocWiki 번역] 연결을 설정하기 (FireDAC) [DocWiki 번역] 연결 복구하기 (FireDAC) 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.