Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

A particular team in my office uses 100's of Microsoft Access Models. They all connect with the database using SystemDSN and, the name of the SystemDSN is hardcoded in the Microsoft Access Models.

My teammate suggested that we use a login script to ensure that the SystemDSN is configured for all users who belong to that team. For example, if a new joinee comes along, he gets the DSN automatically rather than calling IT for manual setup.

I am suggesting that we use FileDSN, store the FileDSN on a network share path and be done with. The advantages being the following

  1. If I were to migrate by database to a new server, I need to just update the FileDSN at one location and all done.

  2. I can access the Microsoft Access Model even via Citrix where I may not be able to have SystemDSN as such.

The problem, as my team mate suggests, is

  1. There are over 100 Microsoft AccessModels, so, how do you go about changing the hardcoded values of SystemDSN? He claims that it is not worth the effort.

Surely, there should be a programming concept for us to make the change at one go.

While I continue to rack my brain for a solution, if someone out there already has one do let us all know!

share|improve this question

Use DSNLess connections instead, so that the client workstations don't need any setup, nor any accessible file-based DSN definition. I use Doug Steele's code to convert DSN connect strings to DSN-less connect strings:

share|improve this answer

If it's only 100s (not thousands), then you will probably take less time changing them than you would writing a login script.

If you go the DSN-less route (see David's answer), here is another valuable resource:

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .