Question

I´m a 10 years FirebirdSQL user, and now i have a customer wanting to use MSSQL 2008. I don´t want to start flame wars with this, i just want your advice on data access tecnology.

Im using Delphi MMVI.

Use native ADO or DBExpress? Use third part?

Any other words of wisdom?

Thanks,

yes i know that i will have to rewrite procedures, triggers. I hope this worth...

Was it helpful?

Solution

For database components, I have never seen faster and stable components than the components came from DevArt (CoreLab)

They have UniDac Universal direct access component, which support (Oracle, SQL Server, MySql, InterBase/Firebird, PostgreSql, and ODBC(which offers DB2, Sybase MS Access and any other ODBC)

OTHER TIPS

Although I use SQLDirect components daily, AnyDAC seems to be popular and well developed solution: http://www.da-soft.com/anydac/

I have written a program using advantage database server and switched it to MSSQL very easily by using ado components. you can use a udl file to specify the odbc connection to switch between two different database types relatively easily that way. As long as you use simple database connections e.g. simple sql statements or tables you shouldn't have too much problem switching. It may be more difficult if you regularly use procedures and triggers. however, I have no experience of dbexpress so not sure how it compares.

I would recommend DBExpress.

We've had very good experiences with DBExpress for SQL and DOA for oracle. If you're working with oracle the DOA is the way to go (is way faster than BDE and ADO).

What you will need to ensure is that whichever solution you go with, it has the drivers for the databases you want and for the databases that you may potentially need to support in the future.

Until recently we used ODBCExpress, which did a very good job of wrapping the ODBC into Delphi TDataSet components, and of course every database going has an ODBC driver. Unfortunately this product is no longer supported with Delphi 2009's Unicode so it will be fine for Delphi 2006 but not if you will move to a later version Delphi at some point. Having said that I'm trying to get it moved up to D2009 with the help of its original developer.

ADO would therefore be an obvious choice as most databases also have an ADO driver and it is part of Delphi these days through the dbGo components. But it would appear that dbExpress is popular and well received and, as long as there are dirvers to fully support your databases of choice, this seems to be the most popular choice.

For me ADO makes the best choice for MS SQL. It was developed by Microsoft and is very stable. You could spend time going to a more native approach, but I have found that my projects built with ADO do not require many (if any) changes to support the various versions of MSSQL Server. ADO also has support for ODBC drivers, so legacy databases can also be accessed. It is even possible to take a comma delimited file and query it as if it was a table using ADO (although performance is horrible, since every query becomes a full table scan).

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