A few weeks ago I had to assist with migrating a customer with a large amount of Access databases (over 60) to a new server. Â Turns out their new server was completely 64-bit (Windows and ColdFusion) and I didn’t find out about the Access databases until after the server was completely deployed. Â Had I been involved earlier I would have put a stop to that. Â However, I had to make Access play nice with ColdFusion, here’s how I did that.
The first step is to open the 32-bit ODBC Datasource manager in Windows, on this server it was atÂ C:\windows\SysWOW64\odbcad32.exe, where I had to add a system DSN for each Access DSN I was configuring.
As you can see there are a large amount of System DSNs for each database, we’ll be setting up the DSN named ‘blank’ in this post.
After you have a System DSN created for each DSN you need in ColdFusion, you can start adding them to ColdFusion. Â As you can see in the image below we set the data source up exactly as we did in the Windows ODBC manager, same name and path.
Now, when you hit Submit you’re going to get a very ugly error:
Unable to update the NT registry. Variable DRIVERPATH is undefined.
Don’t fear, the data source is now available for ColdFusion to use. Â Now, why didn’t I just use an ODBC socket? Â Well, you simply can’t – when you go to create an ODBC socket in the ColdFusion Administrator it generates a drop down of 64-bit System DSNs and won’t show you the 32-bit Access DSNs (see the Additional Reading section).
Remember, you’re milage will vary on this and you should be converting those Access databases over to SQL Server or MySQL 🙂
Why my 32 bit applications cannot see the ODBC DSNs that I created on my 64 bit machine ?