Symptom
On a 32-bit machine, the PowerBuilder Development environment is installed and application works. The PowerBuilder application executable also works on the same machine.
When deployed to a 64-bit machine, the PowerBuilder application executable cannot connect to the database. The database connection information is stored in the registry and the application should be reading the registry to get the values for the database connection.
Environment
PowerBuilder
Reproducing the Issue
1. Deploy the 32-bit PowerBuilder application executable to a 64-bit server machine.
2. Add the database connection information to the registry under HKLM\Software\<company_name>\..
3. Run the application executable and the application returns an error message that the connection to the database failed.
Cause
The Process Monitor utility was used to capture the I/O activity for the registry and file activity for the PowerBuilder application executable.
The utility reported that the PowerBuilder application executable was trying to read the registry for the database connection at: HKLM\Software\Wow6432Node\<company_name>\JDBC\dbconnection\DBParm The Process Monitor utility returned 'Name Not Found' for this location: HKLM\Software\Wow6432Node\<company_name>\JDBC\dbconnection\DBParm
Solution
On a 64-bit machine, the 32-bit application executable was redirected to the registry at HKLM\Software\Wow6432Node\.. Even though, the database connection was added to the registry at, HKLM\Software\<company_name>\.., the 32-bit application was not finding the values since the application was redirected and reading the registry at: HKLM\Software\Wow6432Node\<company_name>\.. Once the database connection information was updated in the HKLM\Software\Wow6432Node\<company_name>\, the application was able to find database connection values in the registry and the application was able to connect to the database.