pgdbx4 – dbExpress driver for PostgreSQL

bgdpx4는 PostgreSQLdbExpress 드라이버 입니다. Delphi에서 dbExpress를 지원하지만 아쉽게도 PostgreSQL을 지원하지 않습니다. 계획에는 들어간 것 같은데 이게 언제나 가능할 지 모르겠습니다.

저는 대부분의 작업에 PostgreSQL을 사용하고있고, 아쉽게도 Delphi에서 PostgreSQL을 그리 중요하게 생각해주지 않는 덕분에 ZeosLib을 사용하고 있습니다. 그런데 dbExpress를 보고 이제 장기적으론 여기로 가야하겠다는 생각에 PostgreSQL dbExpress Driver를 시간날 때마다 조금씩 만들기 시작했지요(물론 상용으론 있지만 재밌잖아요!).

주의) 절대로 Production 환경에 사용하지 마세요. 그냥 연습용으로 만들어 가는 것이라 어떤 문제가 있을 지 모릅니다. ^^;

설정

다운로드 받은 파일에서 *.dll 파일을 IDE가 있는 디렉토리에 풉니다. 실제 드라이버는 pgdbx4.dll이고 나머지는 PostgreSQL 클라이언트 라이브러리인 libpq.dll에서 필요로하는 파일입니다. 이 파일만 따로 구할 방법이 좀 애매하기에 같이 올려놨습니다.

dbxdrivers.ini

dbxdrivers.ini에 다음처럼 설정합니다. 아래의 것은 최소한의 설정입니다.

[Installed Drivers]
PgDBX4 = 1
[PgDBX4]
LibraryName=pgdbx4.dll

TSQLConnection property settings

연결에 필요한 파라미터는 다음과 같습니다.

  • DriverName: pgdbx4
  • LibraryName: pgdbx4.dll
  • VendorLib: libpq.dll (생략되면 libpq.dll이 기본으로 사용됨)
  • Params:
    • HostName: 연결할 호스트 이름
    • Database: 연결할 데이터베이스 이름
    • Port: 연결할 포트
    • User_Name: 연결할 사용자 이름

이렇게 설정하면 대부분의 작업이 가능할 것입니다. 물론 안되는 것도 있지만... ^^;

dbxdrivers.ini, dbxconnections.ini 파일을 쓰고 싶지 않을 때

dbExpress를 사용하면 dbxdrivers.ini나 dbxconnection.ini을 같이 배포해아합니다. 그런데 저는 이런거 정말 싫어합니다(왜 그런지는 모르겠습니다만.. 정말 싫어요). 그런 경우는 포함된 pgdbxStub.pas를 프로젝트에 포함하면 런타임에 dbx 드라이버를 등록하므로 설정 파일이 필요없습니다.

pgProvider.bpl

TpgDataSetProvider는 기본값을 설정된 값을 가져오기 못하는 문제가 있습니다. 기본값이 맘에 걸리신다면 TProvider 대신 이 콤포넌트를 사용하면 됩니다.

또한 TPrivider, TClientDataSet을 안에 포함하고 있는 TpgClientTable, TpgClientQuery도 있으니 유용하게 사용해보세요.

dirdbx.dll

dirdbx.dll은 dbExpress를 이용한 단순한 파일 리스트 보기입니다. 테스트용으로 만든겁니다.

다운로드

pgdbx4-0.4.0.7z

Comments are closed, but trackbacks and pingbacks are open.