This blog is for users who can answer a "Yes" to the following Questions:
1. Are you thinking of Migrating your existing 32 Bit System with Rational System Architect with Oracle as back end to 64 Bit Systems?
2. Are you new to Rational System Architect and planning to install the same on 64 Bit systems with Oracle as back end Database?
Here are your answers:
First of all, let us understand the architecture of Rational System Architect. Basically, Rational System Architect is a 32 bit application and expects all the connectivity to go through the 32 bit channel.
Then where is the confusion?
The confusion starts when you install Rational System Architect on a 64 bit system, for example a Microsoft Windows 2008 R2 system, and you are able to form a valid connectivity to the Oracle database from the system. Alas, you are not able to connect from Rational System Architect to the Encyclopedias.
You could face numerous errors while trying to form a valid Connection from Rational System Architect to the Oracle DB. Some of them being "Provider Cannot be found", "ora1289 Error", etcetera.
Then what’s the Solution?
Let’s get back to the point that Rational System Architect is a 32 bit Application and normally DBA installs a client driver for Oracle which is of a 64 bit system.
You will be able to connect to the Oracle database from the system (because of the 64 bit client installed from the DBA) but not form a valid connection because Rational System Architect is trying to connect using a 32 bit Client driver which is not present in the system. Hence, ensure to connect with your Oracle DBA and ask them to install the 32 bit client driver on the system.
How do users verify that the driver installed is a 32 Bit driver and If user will be able to connect from Rational System Architect with the help of a UDL (Universal Data Link) file ?
When we have created a UDL file on a 64 bit machine and try to open it, the following command ("C:\Program Files\Common Files\System\Ole DB\oledb32.dll",OpenDSLFile C:\test.udl ) will be called through C:\windows\system32\rundll32.exe.
Here, both Oledb32.dll and rundll32.exe are 64 bit and will not enumerate the 32bit Dlls.
Then how to run the UDL which lists down the 32bit Dlls?
You can find the 32bit version of Oledb32.dll under the path: C:\Program Files (x86)\Common Files\System\Ole DB
and 32 bit version of rundll32.exe under the path: C:\WINDOWS\SysWOW64.
You’ll need to execute the command below from a command line or Start/Run:
C:\Windows\syswow64\rundll32.exe "C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll",OpenDSLFile C:\test.udl
Once the 32 Bit UDL test is successful, you are good to connect from Rational System Architect to the Oracle database.
The images below show examples for commands to execute UDL files and the options to select while verifying the connection:
Screen 1: Showing the Command to execute the UDL file as a 32 Bit Version UDL
Screen 2: Showing the option to select for the Oracle client driver to be selected
Screen 3: Showing the Oracle Server name:
Screen 4: Showing the successful conection