views:

272

answers:

7

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...

+1  A: 

I would recommend DBExpress.

Pablo Santa Cruz
A: 

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).

Jorge Córdoba
+1  A: 

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.

delphigirl
+3  A: 

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

LukLed
+1 for AnyDAC. Great components and excellent support.
oodesigner
A: 

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.

_J_
+4  A: 

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)

Mohammed Nasman
+1 for this from me - saved me typing out much the same. DevArt (formerly CoreLabs) sell a great DBXpress driver. It works a treat with SQL Server 2008 (and 2005!).
robsoft
Ditto. We use SDAC - their SQL sevrer specific stuff - rather than UniDAC or dbExpress but I imagine it's based around the same principles and it works great.
shunty
A: 

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).

skamradt