태그: TClientDataSet

FireDAC: FDMemTable vs. ClientDataSet Android 성능 비교

Delphi 및 C++Builder의 새로운 데이터 액세스 컴포넌트로 추가된 FireDAC은, 다양한 데이터베이스 서버들을 지원할 뿐만 아니라 기능 면에서도 대단히 강력합니다. 또한 성능도 매우 뛰어난데요.그런데 성능 면에서의 장점 설명들은 보통 윈도우 플랫폼에 치중되어 있습니다. 최근 저는 Delphi 기반 Android 프로젝트를 진행하던 과정에서, 안드로이드에서 FDMemTable의…

TClientDataSet+TDBNavigator가 극도로 느려지는 문제에 대한 해결책

개인적으로 저는 잘 사용하지 않지만, DBNavigator 컴포넌트는 데이터베이스 애플리케이션에서 정말 유용한 컴포넌트입니다. TDBNavigator의 역할은 현재 연결되어 있는 데이터셋의 레코드 단위 운영을 위한 컴포넌트로서, 아시다시피 데이터셋의 앞으로/뒤로, 최초/최종 등의 작업을 위한 UI를 간단히 구성해줍니다. 그런데, 델파이/C++빌더의 XE2 이후 버전들부터는, 이 TDBNavigator가 TClientDataSet과 연결해서…

XE3/XE4에서 TClientDataSet의 한글 길이 버그, 패치 파일

앞서의 글, http://blog.devquest.co.kr/imp/786에서 썼던 문제, 즉 TClientDataSet에서 10자 이상의 한글 필드를 사용했을 때 'Field xxx not found' 에러가 발생하는 문제에 대한 패치를 만들었습니다. 반나절 가까이 작업했네요. 엠바카데로에 버그리포트는 올리지 않을 생각입니다. 알고 있는 버그들이 꽤 많은데, 이 한건을 리포트하고 나면 나머지 버그들은…

XE3/XE4에서 TClientDataSet의 한글 길이 버그

프로젝트를 진행하다가, 델파이/C++빌더 XE3 및 XE4의 TClientDataSet의 이상한 버그 하나를 추가로 발견했습니다. 필드 이름이 한글이고 대략 10글자가 넘을 때 "Field xxx not found" 에러가 나는 것인데요. VCL의 소스를 확인해보니 필드 이름을 UTF8로 변환한 후 길이를 32보다 크면 32길이로 잘라버리더군요. UTF8에서는…

XE 핫픽스와 AQTime / FinalBuilder 업데이트

델파이 및 C++빌더 XE 버전에 대한 두 가지 핫픽스가 공개되었네요. 두가지 모두 XE 업데이트 1이 설치되어 있어야만 합니다. (업데이트 1 다운로드) 또한 설치 패키지가 아니고 수정된 파일들만 배포하는 거라서, 압축을 푼 후에 직접 각각의 디렉토리에 복사해넣어야 합니다. 첫번째 것은 dbExpress의 Firebird…

TClientDataSet 파일의 크기 줄이기

TClientDataSet은 델파이/C++빌더에서 3티어 데이터베이스 연결에서 클라이언트 쪽 DB 처리를 위해서도 많이 사용되지만, 메모리 데이터셋으로도 많이 사용됩니다. TClientDataSet에서 FileName 속성을 지정하거나 LoadFromFile / SaveToFile 메소드를 이용하면 로컬의 파일을 자체 메모리 내에 로드하여 메모리에서 동작하는 빠른 데이터셋을 구현할 수 있죠. 100% 메모리에서 동작하므로…