Use a File DSN, rather than a User DSN or System DSN.
A File DSN can be stored in a shared directory. Then, in order to use it, you just have to have permissions to read the remote directory with the File DSN you are interested in.
User DSNs and System DSNs is specifically created on the connectING machine to give it instructions on how to find the remote machine, and what security protocols to use to access it.
User DSNs are visible only to your login, and only from the machine you're logged in to.
System DSNs are visible to all users on the machine you're logged into...even system services.
If you don't want to create a DSN then you can use direct ODBC API calls (which are a pain in the you-know-what). I don't recommend this.
Hope this helps. Good luck!