This coming weekend we are upgrading our finance system in the office, previous upgrades have been performed on the same server so the server name and instance of SQL stays the same. However this upgrade is on a new server and a different instance of SQL, so all our computers on the Firms network will need to have new System DSN's added to point to the new SQL Server and Databases.
It turns out the the ODBC settings are held in the following registry keys:
HKLM\Software\ODBC\ODBC.INI
in there are all the settings that are displayed in the Data Sources window.
What I did for the roll out was get a freshly cloned PC and delete all the current ODBC Settings and then created the new ones in the Data Sources and then once you have created them export the ODBC.INI key out to a .reg file. this can then be imported in any machine you want to have the new settings. The beauty of this is that it appends to the current settings and it doesn't over write them.
I found the best way to push things like this out are simple start up script in Group Policy. It can either be a batch file for a VBScript.
@ECHO OFF
If Exist C:\Flags\ODBC_Update_Oct08.txt goto ODBC_UPDATED
regedit /s \\server\share\ODBC_Update.reg
ECHo ODBC Updated > C:\Flags\ODBC_Update_Oct08.txt
Exit
:ODBC_Updates
Exit
What this script does it it checks to see if it has been run already and if not then it will run it and put a flag file on the PC to say that it has been run for the next time.