Hi, Jeff;
I can't think it can be any easier than with ADS as you don't have to fully jump into SQL until you are ready. With ADS you can continue to work ISAM + SQL, you can also continue to work DBF/CDX + newer table types with extended field types, you can continue to place your tables on a shared directory or hide your tables in a non-shared directory on the server and only your compiled-ADS-enabled app will be able to access data.
Yes, there is a learning curve, especially when you want to take advantage of everything SQL has to offer, but that learning curve is not as steep with ADS. There is a cost but I find it is the least expensive SQL on the market that also has support. I pass on the cost of the SQL to my customers. I suppose that is the only drawback against mysql or sqlite. However, ADS is free for up to 5 users by using the ALS (Advantage Local Server) which only works with shares just like traditional dbfs do, thus db operations are not as fast as a real client-server.
Here is a roadmap to get started:
Phase #1:
1. "Request" ADS rdd on your main .prg
2. Make ADSRDD the default RDD
3. Re-index your tables with ADSCDX or ADSNTX in case you are still using ntxs.
4. Use only ADSCDX to work with your tables.
Phase #2:
1. Create an ADS Datadictionay and bind all your tables to the DD.
2. Have the user log into the DD as the first thing when your program starts
3. start replacing your ISAM business logic for SQL.
4. replace your .dbfs for .adts and start taking advantage of extended field types
If what you are looking for is a free SQL, I would think MySQL is the best choice and Daniel's TDolphin class seems very well done.
Hope that helps,
Reinaldo