프로그래밍 노트

델파이에서 파이어버드 사용하려면 본문

데이터베이스/Firebird

델파이에서 파이어버드 사용하려면

띠리 2008. 11. 21. 16:57
델파이에서 파이어버드를 쓰기 위해 삼일째 삽질중

델파이에서 파이어버드를 사용할 때 어떻게 하나를 찾고 있는데
우선 어떻게 파이어버드에 접속하는지를 고민하고 있다.

그러다 찾은 몇몇 자료들이 아래의 자료들이다.

델파이에서 파이어버드를 사용하기 위한 컴포넌트들

Can I use Delphi with Firebird 2.0?
Yes, you can.

There are various ways to connect and various degrees of compatibility.

IBX
This is the InterBase tab in Delphi. Basic stuff like Query work fine, even with Firebird 2.0. Probably easiest to setup and start working.

MDO
http://www.mdolib.com/index.en.html
Mercury Data Objects, Open source, created from FreeIBComponents by Greg Deatz. Pretty functional, but seems to be not actively developed (latest version RC2 is from February 2006). Documentation is available only in Portuguese, but the IBX documentation can be used to some extent (since both MDO and IBX are based on FreeIBComponents).

UIB
http://www.progdigy.com//modules.php?name=UIB
Unified Interbase, Open Source. Has the basic necessary components (Database, Transaction, Query, Dataset, Backup/Restore etc), but the Dataset component is read-only. Seems to be actively developed, supposed to work with Free Pascal / Lazarus as well.

FBLib
http://fblib.altervista.org
FBLib Firebird Library. Open source, not data aware (the latest version already has a unidirectional, read-only TDataset descendant component). Also supposed to work with Free Pascal / Lazarus.

ZeosLib
http://sourceforge.net/projects/zeoslib
ZeosLib. Open Source. This is a set of database components for many SQL database engines, Firebird included. Seems to be under active development. Should be possible to use it with Free Pascal / Lazarus.

IBO
http://www.ibobjects.com
Jason Wharton's IB Objects. Commercial, but technically released as "trustware", which is some form of shareware with exclusions (see the web site for more details). Specialized for Interbase/Firebird. Lags a little behind latest Firebird development, but always manages to catch up in time. Bugs and new features are added really fast (once you request them). Also provides a set of specialized data aware controls.

FIBPlus
http://www.devrace.com
FIB Plus. Commercial, actively developed, supporting all versions of Firebird (and Interbase 4.0+). Provides extensive functionality and compatibility with third-party components. An evaluation version is available.

IBDAC
http://www.crlab.com/ibdac/
InterBase Data Access Components. Comercial, actively developed. Provides extensive functionality and support for new Firebird 2 features like the EXECUTE STATEMENT and the RETURNING clause. A trial version is available for download.

ADO via ODBC
Mostly works. There are few ODBC drivers. The official one if functional, EasySoft, XTG and Gemini provide valid alternatives. There seems to be a bug with official Firebird ODBC driver and timestamp fields (only date part is set when writing).

dbExpress
The Interbase dbExpress dirver can be used to some extent. There are also commercial third party dbExpress drivers for Firebird, like InterXpress for example:
http://www.upscene.com


Note: some of the information in this FAQ has been provided by Emil Totev. We appreciate feedback from users of these components as we didn't have a chance to test them ourselves. Please e-mail us about your experiences and help us improve this FAQ. Thanks.

이 자료를 가장 늦게 찾았는데 가장 정확한 자료 같다.
파이어버드 홈페이지의 FAQ 내용이니까 가장 신뢰할만하겠지...

Firebird Conference 2008
I gave a talk on dbExpress and Firebird (in Italian, mostly introducing dbExpress) and a second talk (in English) highlighting the different drivers and libraries you can use to write Delphi applications for Firebird. The offering is still large:
  • ADO with ODBC driver
  • IBX (not officially)
  • IBO (coming soon to Delphi 2009)
  • dbExpress plus third party drivers (Upscene, CoreLab - now Devart)
  • UIB (a set of components I use quite often)
  • ZeosLib
  • FibPlus

I'm pretty sure there are several others, but I noticed quite a few not currently under development, and so unlikely to support Delphi 2009. While doing experiments, I also wanted to figure out how hard is it to write a native dbExpress driver... and I got very close to write the core functionality of one... Now, I'm not sure I'll have time to finish it, but it there is interest, I can certainly share the code.


Re: Best freeware components for Firebird?
Well there are a number of components and choises

1) UIB (www.progdigy.com)
2) MDO (http://sf.net/projects/mdo)
3) IBX (comes with delphi)
    Currently and with the gds32.dll that comes with Firebird they seem
    to work correctly no extensive testing has been made.
4) dbGO (comes with delphi)
    For DbGO which is the ADO library you need an ODBC (free from
    firebird) or OLEDB (no free alternative as far as I know) driver
5) DBExpress with drivers for Firebird (UIB has a free one for Delphi up to 2005 )

Oh, mabe zeos are good components I do not know, but the last time I
checked, a couple of years back, they come under the GPL/LGPL license
which I do not like and would never use.

Firebird support in IBX components
IBX works fairly well (if you dont use TIBTable) with Firebird 1.x thru 2.x but isn't officially supported.

I would be nice if Firebird is supported in IBX components.

BTW, the best combination I personally use for FB database maitenance is TIBQuery + TClientDataSet.
공식적이지는 않지만 IBX는 지원은 하나보다.
TIBTable 컴포넌트는 윗 글대로 쓸수가 없었다.



Comments