I recently ran into some issues when attempting to run ODBC on a 64-bit machine. The particular ODBC driver I was using installed as a 32-bit driver, and thus had to be accessed through SysWow64\odbcad32.exe. After setting up the data source and running my application, I recieved the error "Data source name not found and no default driver specified" even though it was clearly setup. After doing some digging I found that the application was compiled with the 'Any CPU' option. I am not entirely clear here, but it appears that when the application runs on a 64-bit machine it will run as a 64-bit application and only look at the 64-bit data sources on the machine. If I compile the application with a platform target of x86, and run it on the 64-bit machine it runs and looks at the 32-bit data sources. Problem solved.