• Hmmm, it seems I need to try the dbghost next time since so many people recommend it...  but isn't it too "eye-stressing" if you have to pickup various objects through GUI interface from thousands of different objects? and is there any team collaboration work with dbghost? (Excuse me if my questions are naive as I never use dbghost before) 

    As said before, my current philosophy is to use what is available and do what I can do to benefit both my employer and my own career. To me, my approach is simple and useful, once my "migration engine" is done, I never have to change it unless I need to add new protocols.

    But thanks Mark for ur comment, I will play with dbghost in the weekend and see what advantages I can get. But I have a feeling if I add a simple GUI interface to my "migration engine", I may make this a simple and flexible tool.