What does AnyDAC acquisition by Embarcadero mean for Delphi and C++Builder Developers?
Finally the day has come, Embarcadero acquired AnyDAC and there is a lot to talk about, early last year I invested a lot of time evaluating AnyDAC and know you know why 🙂 – I was very impressive with the amount of features, AnyDAC is everything dbExpress tried to be and never reached.
The reason I say that it’s because AnyDAC really allows developers to target multiples database without the workarounds required by dbExpress, like: Field Mapping when you persist the TFields. For long time AnyDAC allowed developers that use Delphi/C++Builder Professional edition to connect their application to Enterprise databases like Oracle, SQL Server, Sybase, Informix and others, something that was only possible through Enterprise and Architect edition, and much more.
Beyond that, there is a lot of specific database features supported by AnyDAC, which I consider very helpful in any database development, here some examples per database:
- For all databases
- Automatic Connection Recovery
- Unified DB Events Support
- Simplified architecture, it means no more Query + ClientDataSet + Provider just for a bi-directional cursor
- Much better performance when compared with dbExpress
- TADMemTable – in memory dataset, faster than TClientDataSet
- Much easier to migrate BDE applications to AnyDAC than the traditional dbExpress architecture
- Oracle
- SELECT FOR UPDATE clause – no more workaround doing UPDATE just to lock the record
- Query execution aborting – we always need that right?
- ROWID columns for fast data editing and refreshing
- RETURNING clause for fast data refreshing – no more select after the update to get a new value generated by trigger
- and more…
- Firebird
- RETURNING clause for fast data refreshing
- Trusted authentication
- DB services – backup, restore, validate, security, etc
- Query execution aborting
- PostgreSQL
- Yep, now you can connect natively with PostgreSQL
- and more…
- SQL Server
- Batch commands with multiple result sets – Now you can use that and improve your app performance
- Query execution aborting
- and more…
- MySQL
- AUTO_INCREMENT columns and retrieving of last inserted value.
- Drivers for several databases on Windows, Mac and iOS
This is a small list of interesting things on AnyDAC, you can find more here.
AnyDAC is a step forward and worth the effort to migrate from dbExpress to AnyDAC, there are lot of feature needed by Delphi and C++Builder developers, many of these features has been requested for a long time and you will have when using AnyDAC.
You may ask what is going to happen with dbExpress? BDE is dead, but still around :), dbExpress is not dead and I don’t think will die soon, but there is no reason to keep two database access technology since AnyDAC is way better than dbExpress.
AnyDAC trial is available for download here.
Good News indeed.
I always hated dbexpress, but anyDAC will make a big change in Delphi history, as long as if is fully avaliable to professional version.
Andreano,
Qual sua opinião sobre o UniDac ?
Oi Renan, como eu disse neste artigo é muito bom, muito melhor que dbExpress
At present, it seems that AnyDAC will be available only with XE3 or later. As I am on XE, and have no need of XE3, that is distinctly bad news.
Good news for vanilla Delphi users. Let’s hope they keep support to their paying customers (I am one) because I don’t know when I’ll be upgrading Delphi (still on XE.)
AnyDAC is way cool. It was way, way more convenient to get Delphi Professional and AnyDAC than Delphi Enterprise for their dbExpress features. Remember the licensing fiasco?
Anyways, congratulations to da-soft – hope they got a good bunch of money for this.
It is an excellent new, I used AnyDAC in project and I recommend it a lot.
FireDAC sounds like an important step forward. However, we use DbExpress on a couple of large projects and it may be difficult to get management to agree to replacing this.
Do you have, or know where I can find, data on the performance improvement of FireDAC over DbExpress? Also, for the FireDAC memory component over TClientDataset?
The DbExpress component TSQLConnection is needed when implementing a Datasnap client-server solution. Is there a FireDAC equivalent that will replace TSQLConnection?
Does FireDAC have the ability to read database schema information and to update a database table’s fields, field types or indexes? I would be surprised if it didn’t (even though the Embarcadero contact I spoke to said that it didn’t).
Good news for Delphi, bad news for me …
Since I use AnyDac since years as subscription, this means that prices will rise much now for me.
Still its unclear what happens with AnyDac and former users like me.
I’m afraid that we have to pay for the leap forward in Delphi database access, don’T we ?