Delphi database framework

Posted on 2002-03-07
Medium Priority
Last Modified: 2013-11-23

I'm evaluating some of delphi framework to data access and fell very hard to choose what of them to
use for a new project.

dbexpress - hmmm..... very tempter.. but I really afraid the way it works, have to manage in-memory
register quantity(no pointer), not automatic post, reconcile error, unidirectional.... I think it introduces
many code challenges....And I can fail in the project :-(....

ADO - good....but...very windows specific.

Interbase - good...but...very borland specific.

BDE/ODBC - overtaken...no way.

Please give me your opinion.

Question by:paulo_psa

Accepted Solution

TOndrej earned 100 total points
ID: 6849157
> Interbase - good...but...very borland specific.

FireBird is an OpenSource branch of Interbase:
LVL 27

Assisted Solution

kretzschmar earned 100 total points
ID: 6849757
oracle-> very oracle specific
db2->very ibm specific

for what are you after?
there is no general issue
LVL 17

Assisted Solution

by:Wim ten Brink
Wim ten Brink earned 100 total points
ID: 6850324
DBExpress is a nice option but it's still not popular enough and I fear that most developers will prefer other alternatives.
The BDE is also a good option but unfortunately you're required to add the 11 MB database engine to your project. Not a real good solution then.
BDE/ODBC used to be a good option but there are better alternatives now.
Interbase, Oracle, DB2, ect. all have special Delphi components giving you access to those specific databases. These are IBExpress for Interbase and ODAC for Oracle. Some of these component-sets are commercial versions while others are free. But the problem is that it fixates you to use only one type of database.
OLE DB/ADO is one of the better alternatives then. It does require that you have an OLE DB driver for the database you're using or, if you don't have an OLE DB driver, that you use an ODBC driver that is connected to the OLE DB ODBC driver. And yes, it is very Windows specific but it has a good performance, especially in multitier applications. However, writing ADO applications can be very challenging too...

Actually, picking the right database framework depends on what you're going to use it for. You have to decide what database you're going to use first. Oracle, Interbase, Paradox, MS SQL, MySQL, Access, DB2, BTrieve or whatever other database you like. You might even consider that the the user can choose which database to use himself.
Then you have to decide upon the architecture of your application. Will it run locally on the same machine as the database? Will it be a client-server application? Or do you create a multi-tier application?
Btw, for client-server and multitier applications using ADO it doesn't matter what operating system the database server is using. I've used ADO with an Oracle database on a HP Unix machine and it's working fine! That's because the ADO components communicate with the locally installed Oracle Client libraries and these libraries communicate with their own protocol with the Oracle server.

For multi-tier applications, my suggestion is not to use Midas unless you need to be Windows independant. Use ADO because there are no licence costs for ADO. Furthermore, ADO is language-independant and can even be used in webservers. It has the same abilities as Midas and I even wonder why we need Midas anyways...
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 17

Assisted Solution

geobul earned 100 total points
ID: 6852587
There is no general answer to your question. If there had been such an answer there wouldn't have been so many ways for connecting databases and all developers would have used one way only and always.
Any solution has its own advantages (and disadvantages) and depends on various criterias such as performance, cost, maintenance (if it's easy enough to manage), support (from the supplier), hardware and software requirements, data volume, etc.
If you tell us more about your environment and requrements, experts will be able to propose solutions based on their experience.

Regards, Geo

Expert Comment

ID: 9343295
This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1 
Post your closing recommendations!  No comment means you don't care.
LVL 17

Expert Comment

ID: 9346901
Split points among all experts.

Expert Comment

ID: 9470496
Wow, Its been a long time since this comment have been visited!

No comment has been added lately (19 days), so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area for this question:

RECOMMENDATION: split points between TOndrej http:#6849157 and kretzschmar http:#6849757 and Workshop_Alex http:#6850324 and geobul http:#6852587

-- Please DO NOT accept this comment as an answer ! --


EE Cleanup Volunteer

Remember you (all) can object this recommendation if you disagree, just leave a post here explaining why are you objecting and what should be done instead.
Within 7 days probably this thread will be closed, so, hurry up! : )

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
this video summaries big data hadoop online training demo (http://onlineitguru.com/big-data-hadoop-online-training-placement.html) , and covers basics in big data hadoop .
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…
Suggested Courses

864 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question