A client contacted me today because they were told by technology professionals that it was impossible to migrate and run a 32-bit version of propriety software on the 64-bit operating systems standard in the market today. Obviously, it would be a good idea to move away from the antiquated Visual Basic 6 application they need to run and pay to redevelop the software...but...when something has worked so well we tend to keep using it until we just don't have a choice anymore.
Despite the errant advice given to my client they still can run this legacy software on the 64-bit systems. You see, the problem preventing my clients 32-bit application from running had to do with ODBC connections.
Any programmer worth his salt will know what an ODBC connection does. Non-techies, on the other hand, should think of ODBC connections as small bridges that connect the software you use to a variety of database technologies capable of storing data needed by the software (ie: Microsoft Access databases, SQL Server Database Servers, Oracle Database Servers, etc).
Even though ODBC connections are not utilized much these days they were highly utilized in the day Visual Basic 6 applications were being developed. So, if my client's software is capable of running on a 64-bit system why did the other technology professional tell them it wouldn't?
The origin of the 3rd party's bad advice stemmed from one simple misunderstanding. 64-bit operating systems offer 2 different applications for managing ODBC connections. A 32-bit application needs to have its ODBC connections created using the 32-bit version of the ODBC Data Source application and 64-bit applications need to create ODBC connections using the 64-bit version of the ODBC Data Source application (See Image).
The client in question was relieved to hear that by properly configuring ODBC connections for this application they could safely migrate to 64-bit hardware systems without the cost of redeveloping the application or fighting to find 32-bit versions of Windows when 64-bit is not the industry standard.