Tuesday, October 23, 2007

Migrating from ADO to dbExpress...

I finally started.

After holding the migration for a long time I am doing it, the reason? well, CodeGear has a renew effort on working on dbExpress, and its latest version dbExpress 4 is a great example of it, with good performance, great connectivity with WIN32 and .Net, support for BlackFish SQL, code included and completely rewritten in Delphi, and lots of improvements on D2007 to work with it like a new SQL Query Editor.

My initial testings always showed a better performance with dbExpress than ADO, now add the fact that ADO is being discontinued by MS in benefit of ADO.Net, the choice was a lot easier.

But, what I did to migrate thousands and thousands of components? Well it wasn't easy, there was no way I could do it in the form designer, it will simply take years.

So just go, open your Data Module, switch to code view, and Find/Replace the following:

1. Replace Connection with SQLConnection.
2. Replace TADOQuery for TSQLQuery.
3. Replace TADOStoredProc for TSQLStoredProc.
4. Replace TADODataSet for TSQLDataSet.
5. Parameters for Params.
6. CmdStoredProc for ctStoredProc.
7. Direction for ParamType.
8. pdOutput for ptOutput.
9. pdInput for ptInput.
10. Add under every dataset that uses SQLConnection, Schema = "dbo" or whatever your schema is.
11. Remove every parameter item called "@RETURN_VALUE".
12. Replace TDateTimeField for TSQLTimeStampField.

Geesh, thats what I remember, I will add more to the list if I hit more rocks on the road.