We have SCM v13.0.3 (64-bit) installed on our Linux server and tried to install the SCM v13.0.4 Refresh Pack. All the installation steps completed successfully until we went to HDBSetup and tried to configure the new ODBC Data Source. We did not want to use the default "harvest" data source name and typed in "harvest-dev" as our data source name. During the connection test, the following error message was returned:
0 [DataDirect][ODBC lib] Specified driver could not be loaded
Release : 13.0.4
Component : CA HARVEST SCM CORE FUNCTIONALITY/PROCESS AUTOMATION
Only affects the Linux 64-bit and the HPIA platforms
This can be caused when the $ODBC_HOME/odbc.ini file has the wrong file name specified for the ODBC driver. Bundled with the SCM v13.0.4 Refresh Pack is an updated version of the odbc software that should be installed along with it. In this case we found that the pre-initialized "odbc.ini" file that is included with the odbc software provided looks like this:
$ cat /opt/CA/odbc/odbc.ini
[ODBC Data Sources]
harvest=CA SCM ORACLE
[ODBC]
IANAAppCodePage=4
InstallDir=/opt/CA/odbc
Trace=0
TraceFile=odbctrace.out
TraceDll=/opt/CA/odbc/lib/H_trc27.so
[harvest]
DSN=harvest
DESCRIPTION=CA SCM ORACLE
SERVERNAME=orcl11g
DRIVER=/opt/CA/odbc/lib/H_ora27.so
"The values for "TraceDll=" and "DRIVER=" are incorrect and should be "/opt/CA/odbc/lib/H_trc28.so" and "/opt/CA/odbc/lib/H_ora28.so" respectively. If you go into HDBSetup and select "harvest" as your data source name this problem gets corrected automatically when the data source details are updated in the file. But if you select a different data source name, the paragraph for the "[harvest]" data source is never updated with the correct data source driver file name.
Use "vi" or your favorite text editor to edit the $ODBC_HOME/odbc.ini file and manually correct the values for "TraceDll=" and "DRIVER=" so that they reflect valid file names. For example:
$ cat /opt/CA/odbc/odbc.ini
[ODBC Data Sources]
harvest=CA SCM ORACLE
[ODBC]
IANAAppCodePage=4
InstallDir=/opt/CA/odbc
Trace=0
TraceFile=odbctrace.out
TraceDll=/opt/CA/odbc/lib/H_trc28.so
[harvest]
DSN=harvest
DESCRIPTION=CA SCM ORACLE
SERVERNAME=orcl11g
DRIVER=/opt/CA/odbc/lib/H_ora28.so
After this HDBSetup will no longer return the error message.