A architecture in your error is referring to a 32 vs 64 bits. So my solution was to find out which of the my apps is running under the (Access) which 2010 is 32b. I found this by simply looking in a Process tab of my Task Manager where my all 32b processes have * 32 at the end of their names.My control panel will launch a 64 bit version of the ODBC from below path:
And my 32 bit version is on below path:
c:\windows\sysWOW64\odbcad32.exe (easiest to just copy and paste into the run dialog)
So I just set up the DSNs with the names ending with 32 and 64 in each of my corresponding ODBC control panels (i.e. Administrator) that pointed to a same thing. Then, I just picked a correct one based on whether my app is using 32b or 64b.
Hope this will solve your error.