Question

I have an Interbase 5.5 database (note: this is a very old version, from the last millenium).

So far I have managed to connect to it using the "native" Interbase components that ship with Delphi (IBDatabase, IBQuery etc).

There seems to be a few other ways of connecting to Interbase from Delphi.

Are there advantages to using any of these other methods or should I use the 'Native' components?

Some of my requirements:

  • I only need read access, not write
  • Accuracy is the highest priority, but speed would also be nice
  • Installing extra dll's etc is not a problem
  • I am using Delphi 2010

In answer to some of the questions:

Do you have problems with IB components?

Not yet, no. I haven't done much with it yet though.

What are your concerns?

My main concern is the old version of the database I have. Will the component I use read such an old database correctly?

I just need to extract data from the old database and write it to a new format. (i.e. convert a legacy database). I don't need to maintain the old database.

It is very important that the data is extracted correctly.

Was it helpful?

Solution 2

For what it's worth, we ended up using the latest Firebird ODBC driver, then using the standard Delphi ADO components to connect to the database via ODBC.

We had problems connecting to the database at all using any other method.

This could well have been something we were doing wrong; this was the only method we could reliably get to work.

OTHER TIPS

I would start by trying to figure out what you need.

  1. What are your concerns?
  2. What is the expected usage of this application?
  3. It appears that you are maintaining legacy code (or interfacing to an old but active database.) What's your scenario?
  4. Are there any plans to migrate this database to something up to date?

These questions may lead you to understand if you will support this application for a long time (maintainability) or if you need a quick, dirty hack (rapid deployment.)

If you go for the road of rapid deployment, well, then you have already your answer (keep what it works.)

If there are firm plans to upgrading the database or the application is going to last, then you should probably cover your bases by using a good quality data access component. I always find myself recommending AnyDAC, because they are easy to use, rock solid and with good support. Of course there are other alternatives but this is what I know.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top