Hola que tal, bueno con mi poca experiencia lo que te podria decir es que la conexion con DSN es necesario que en el equipo la tengas dada de alta dicha conexion y apuntes a ella, de lo contrario no te podras conectar.
Con respecto a la conexion sin la necesidad del DSN ( se hace con el ODBC ), para esto ocupas intalas el ODBC, para que solo con hacer referencia a el, ya puedas abrir la conexion a una BD.
Existe ADO también, pero de esta no se nada
, haber si alguien nos puede ilustrar sobre esta jejeje
.
Actualmente existen DLL para poder hacer las conexiones ( Hablando de C# ) las cuales te conectan a MySQL, SQL, PostgreSQL, etc, etc. Solo tienes que revisar como es la cadena de conexion y con eso podras conectarte sin problemas.
Si alguien tiene mas información o estoy equivocado en algo, se agradecen correcciones