• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 740
  • Last Modified:

ADO vs. BDE accessing SQL2000

I am faced with a technical question that seems to have no clear cut answer.  I have a lot of old poorly written code around an Interbase 5.0 database.  I have ported my data to SQL 2000, but I am being told that I should also convert the data access within the old code from BDE to ADO due to limitations with Stored Procs.  Now, I understand I will gain a lot from rewriting the data access, like instituting a standard data module and documenting some of the spaghetti.  However, I think I might want to wait on the data access conversion and just try to use the BDE TTable components and connection ratehr than changing everything to ADO right now.  Some of my programmers say I should convert it to ADO and some do not.  It will cost more money and time to do the ADO conversion.  

Is there a definitive right answer to the question: Must I convert data access to ADO when going form an Interbase backend to a SQL 2000 backend?

1 Solution

yes for sure u shall move to ADO and also if u move to Delphi 6 u shall stop using the BDE. From what Borland said they going to renounce to use slowly ...

i would prefer to use ado with a sql2000 server
I am using ADO queries and an occasional table against SQL2000 and I have also used the same code against Interbase. 'Going' from Interbase to SQL2000 was not painless.

From my point of view you ''ll have to choose between
    known paths and a technology that's at the end of its evolution
    Using technology that is new to you, but which is (or will be) ready for future developments
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

We are developing D5 application using SQL Server
and BDE and untill now we didn't see any major problems.
We are also writing Triggers and Stored Procedures.
One issue with using BDE with SQL. The BDE can only have one active at a time. I ran tests on this I made an application with 2 ADO queries and 2 BDE queries (both doing select *) here are the results:
Table1 300,000 records
Table2 25,000 records
     Query1      Query2
ADO    15 sec      10 sec
BDE    10 sec       5 minutes

The problem with the BDE is that it must cache the first query locally before it can open the second query. Which defeats the purpose of a client server design.
I now use ADO with SQL 2000. It works just great.

Hope this helps
ARWAuthor Commented:
Thank you for supporting answer with empirical data.


Are you sure that when you run a seperate thread with its own session, the BDE cannot have two queries active?

If it is two threads with a seperate session it is probably fine. But I did not see that issue brought out. Besides a thread can not update the user interface of the main thread. So the programming of the threads would be far more complicated than switching to ADO, in my opinion.
You're absolutely right there Ross, but its a different argument for the same answer.

Anyway, enough hair splitting

CU, Ramon
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now