I see several connection types for databases - OLEDB, ADO, ADO.NET etc. AFAIK, ADO.NET has a convenient and easy to use API in scripts. Also, if you want to retainSameConnection inside a .NET script, its easier to use a ADO.NET result set rather than OLEDB as mentioned here - http://stackoverflow.com/questions/11867639/connect-to-sql-database-inside-script-task-in-ssis
Then why do we have so many types of DB connection managers ? Why not choose the most superior one and have only that ? One reason could be that .NET might not be installed on target machines. If yes, then are there any valid reasons for not installing .NET on target machines ?