...DSN-less connections were slightly faster than System DSN connections. The increase in performance was nothing monumental; the greatest performance boost was a mere 13% faster with 64 concurrent requests. For one, two, or four concurrent requests, there was virtually no performance improvement. In fact, no noticeable improvement is seen in a DSN-less connection over a System DSN until there are 10 or more concurrent connections.
The reason is that when ADO attempts to connect to a database using a System DSN is must perform a lookup in the registry. This lookup, while not overly expensive, does add up, especially if there are many concurrent connections.
I would go with what achorozy says but the overriding consideration should be how you want to control the connection parameters.
You have to get the data into the application to connect - whether this is via a DSN, hard coded, loaded into a global on initialisation...
Just depends on what you want to be configurable and how you want to configure it.
Make sure that all database access is via a common module then you will find it easy to change in the future so the decision doesn't become irrevokable.